diff -Naur linux-2.4.2/drivers/usb/storage/unusual_devs.h linux/drivers/usb/storage/unusual_devs.h
--- linux-2.4.2/drivers/usb/storage/unusual_devs.h	Tue Jan 30 08:26:34 2001
+++ linux/drivers/usb/storage/unusual_devs.h	Sun Mar 18 00:35:51 2001
@@ -230,3 +230,10 @@
 		US_FL_START_STOP ),
 #endif
 
+UNUSUAL_DEV( 0x07cf, 0x1001, 0x1000, 0x9009,
+                "Casio",
+                "QV DigitalCamera",
+                US_SC_8070, US_PR_CB, NULL,
+                US_FL_FIX_INQUIRY ),
+
+
diff -Naur linux-2.4.2/drivers/usb/storage/usb.c linux/drivers/usb/storage/usb.c
--- linux-2.4.2/drivers/usb/storage/usb.c	Thu Feb 22 15:10:55 2001
+++ linux/drivers/usb/storage/usb.c	Sun Mar 18 00:41:09 2001
@@ -378,6 +378,22 @@
 				break;
 			}
 
+			if ((us->srb->cmnd[0] == INQUIRY) &&
+			    (us->flags & US_FL_FIX_INQUIRY)) {
+			    	unsigned char data_ptr[36] = {
+				    0x00, 0x80, 0x02, 0x02, 0x1F, 0x00, 0x00, 0x00};
+
+			    	US_DEBUGP("Faking INQUIRY command\n");
+				fill_inquiry_response(us, data_ptr, 36);
+				us->srb->result = GOOD << 1;
+
+				set_current_state(TASK_INTERRUPTIBLE);
+				us->srb->scsi_done(us->srb);
+				us->srb = NULL;
+				break;
+			}
+
+
 			/* lock the device pointers */
 			down(&(us->dev_semaphore));
 
diff -Naur linux-2.4.2/drivers/usb/storage/usb.h linux/drivers/usb/storage/usb.h
--- linux-2.4.2/drivers/usb/storage/usb.h	Tue Jan 30 08:26:34 2001
+++ linux/drivers/usb/storage/usb.h	Sun Mar 18 00:37:25 2001
@@ -99,6 +99,7 @@
 #define US_FL_START_STOP      0x00000004 /* ignore START_STOP commands	    */
 #define US_FL_IGNORE_SER      0x00000010 /* Ignore the serial number given  */
 #define US_FL_SCM_MULT_TARG   0x00000020 /* supports multiple targets */
+#define US_FL_FIX_INQUIRY     0x00000040 /* INQUIRY response needs fixing */
 
 #define USB_STOR_STRING_LEN 32
 
