--- cdparanoia-III-alpha9.8/interface/scsi_interface.c.smalldma 2004-10-06 16:15:50.778406009 -0400 +++ cdparanoia-III-alpha9.8/interface/scsi_interface.c 2004-10-06 16:17:51.438686857 -0400 @@ -169,8 +169,6 @@ cur=table*reserved; - ((struct sg_info *)d->sg)->dxferp_max_buffer_len = cur; - /* so since we never go above q->max_sectors, we should never get -EIO. * we might still get -ENOMEM, but we back off for that later. Monty * had an old comment: "not too much; new kernels have trouble with DMA @@ -182,8 +180,12 @@ * still fail the wrong way. This needs some kernel-land investigation. */ #if 1 - cur=(cur>1024*32?1024*32:cur); + if (!getenv("CDDA_IGNORE_BUFSIZE_LIMIT")) { + cur=(cur>2352*24?2352*24:cur); + } #endif + ((struct sg_info *)d->sg)->dxferp_max_buffer_len = cur; + d->nsectors=cur/CD_FRAMESIZE_RAW; d->bigbuff=cur;