c88503add2
cdparanoia-alpha9.8-22.src.rpm
47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
--- cdparanoia-III-alpha9.8/interface/scsi_interface.c.env 2004-09-30 11:36:29.495045730 -0400
|
|
+++ cdparanoia-III-alpha9.8/interface/scsi_interface.c 2004-09-30 11:35:52.261283378 -0400
|
|
@@ -177,8 +177,11 @@
|
|
* "allocation, so be more conservative: 32kB max until I test more
|
|
* thoroughly". We're not currently honoring that, because we should
|
|
* always get -ENOMEM.
|
|
+ *
|
|
+ * Updated: but we don't always get -ENOMEM. Sometimes USB drives
|
|
+ * still fail the wrong way. This needs some kernel-land investigation.
|
|
*/
|
|
-#if 0
|
|
+#if 1
|
|
cur=(cur>1024*32?1024*32:cur);
|
|
#endif
|
|
d->nsectors=cur/CD_FRAMESIZE_RAW;
|
|
--- cdparanoia-III-alpha9.8/interface/scan_devices.c.env 2004-09-30 11:30:55.422135762 -0400
|
|
+++ cdparanoia-III-alpha9.8/interface/scan_devices.c 2004-09-30 11:34:04.815523677 -0400
|
|
@@ -104,6 +104,7 @@
|
|
cdrom_drive *cdda_identify(const char *device, int messagedest,char **messages){
|
|
struct stat st;
|
|
cdrom_drive *d=NULL;
|
|
+ char *transport = getenv("CDDA_TRANSPORT");
|
|
idmessage(messagedest,messages,"Checking %s for cdrom...",device);
|
|
|
|
if(stat(device,&st)){
|
|
@@ -120,11 +121,15 @@
|
|
#endif
|
|
|
|
#ifdef SG_IO
|
|
- d=cdda_identify_scsi(device,NULL,messagedest,messages);
|
|
- if(!d)d=cdda_identify_cooked(device,messagedest,messages);
|
|
-#else
|
|
- if(!d)d=cdda_identify_scsi(device,NULL,messagedest,messages);
|
|
- d=cdda_identify_cooked(device,messagedest,messages);
|
|
+ if (transport && !strcasecmp(transport, "cooked")) {
|
|
+#endif
|
|
+ d=cdda_identify_cooked(device,messagedest,messages);
|
|
+ if(!d)d=cdda_identify_scsi(device,NULL,messagedest,messages);
|
|
+#ifdef SG_IO
|
|
+ } else {
|
|
+ d=cdda_identify_scsi(device,NULL,messagedest,messages);
|
|
+ if(!d)d=cdda_identify_cooked(device,messagedest,messages);
|
|
+ }
|
|
#endif
|
|
|
|
#ifdef CDDA_TEST
|