Hello! I have problems with the combination ide-scsi and usb-storage. I need ide-scsi for my CD writer and usb-storage for my camera (Fuji Finepix 2400). Mounting the camera works fine. Writing CDs was always fine.
I get problems as soon as I use the CD writer (even cdrecord -scanbus), afterwards I cannot mount the camera any more if it wasn't plugged in at that time. cdrecord -scanbus hangs with trying to scan scsibus1, but can be interrupted with Ctrl-C. After this, I cannot mount the camera any more: blue:~# mount /mnt/camera/ mount: /dev/sda1 is not a valid block device I tried to unload the usb-storage module, because I thought reloading it again would solve the problems, but then modprobe -r hangs forever (until reboot). I have turned on debugging for usb-storage, these are the last messages: Nov 10 19:10:59 blue kernel: usb-storage: storage_disconnect() called Nov 10 19:10:59 blue kernel: usb-storage: -- releasing irq URB Nov 10 19:10:59 blue kernel: usb-storage: USB IRQ recieved for device on host 1 Nov 10 19:10:59 blue kernel: usb-storage: -- IRQ data length is 0 Nov 10 19:10:59 blue kernel: usb-storage: -- IRQ state is -2 Nov 10 19:10:59 blue kernel: usb-storage: -- Interrupt Status (0x0, 0x0) Nov 10 19:10:59 blue kernel: usb-storage: -- IRQ too short Nov 10 19:10:59 blue kernel: usb-storage: -- usb_unlink_urb() returned 0 Nov 10 19:10:59 blue kernel: usb-storage: -- releasing main URB Nov 10 19:10:59 blue kernel: usb-storage: -- usb_unlink_urb() returned -19 Nov 10 19:10:59 blue kernel: usb-storage: -- calling scsi_unregister_module() Nov 10 19:10:59 blue kernel: usb-storage: release() called for host usb-storage Nov 10 19:10:59 blue kernel: usb-storage: -- sending US_ACT_EXIT command to thre ad I tried to debug the problem myself, but I do not know enough about usb, scsi and kernel programming in general, all I can track is that the problem is probably somewhere in /usr/src/kernel/drivers/usb/storage/scsiglue.c: static int release(struct Scsi_Host *psh) { struct us_data *us = (struct us_data *)psh->hostdata[0]; US_DEBUGP("release() called for host %s\n", us->htmplt.name); /* Kill the control threads * * Enqueue the command, wake up the thread, and wait for * notification that it's exited. */ US_DEBUGP("-- sending US_ACT_EXIT command to thread\n"); us->action = US_ACT_EXIT; up(&(us->sema)); wait_for_completion(&(us->notify)); /* remove the pointer to the data structure we were using */ (struct us_data*)psh->hostdata[0] = NULL; /* we always have a successful release */ return 0; } It seems that wait_for_completion() never returns. My current kernel version is 2.4.14, but I had the same problems with older 2.4.x kernels, including ac patches. Never tried usb with 2.2.x. Well, I would be happy if I could just reload usb-storage.o without rebooting. Greetings, Oliver -- Oliver Kurth mailto:[EMAIL PROTECTED] http://leinekanal.de _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users