Known problem with cdrecord -scanbus with removed devices. Patch in the works.
Matt
On Sat, Nov 10, 2001 at 07:54:16PM +0100, Oliver Kurth wrote:
> 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
--
Matthew Dharm Home: [EMAIL PROTECTED]
Maintainer, Linux USB Mass Storage Driver
Why am I talking to a toilet brush?
-- CEO
User Friendly, 4/30/1998
msg01540/pgp00000.pgp
Description: PGP signature
