Messages in this thread | | | Date | Tue, 29 Jun 2004 11:37:36 +0200 (CEST) | From | Bart Hartgers <> | Subject | hwscan hangs on USB2 disk - SCSI_IOCTL_SEND_COMMAND |
| |
My apologies if this is not really a kernel issue, but
I've recently upgraded to SUSE9.1, and now I am having trouble with automatically hotplugging my USB2 harddisk. This is because the userspace hotplug magic runs a prog called hwscan. If I disable the userspace stuff, everything works fine. Also my USB1 pendrive works fine with the userspace hotplug.
The problem is that both hwscan and usb-storage get stuck in the 'D" state until I unplug the harddisk.
A strace of hwscan shows:
21141 open("/dev/sda", O_RDONLY|O_NONBLOCK) = 3 21141 ioctl(3, 0x301, 0xbfffeba0) = 0 21141 ioctl(3, BLKSSZGET, 0xbfffeb9c) = 0 21141 ioctl(3, 0x80041272, 0xbfffeb90) = 0 21141 ioctl(3, FIBMAP, 0xbfffec40) = 0 <--- hwscan gets stuck here
The last ioctl corresponds to this bit of code in hwinfo-8.38/src/hd/block.c:
#ifndef SCSI_IOCTL_SEND_COMMAND #define SCSI_IOCTL_SEND_COMMAND 1 #endif
...
memset(scsi_cmd_buf, 0, sizeof scsi_cmd_buf); // ###### FIXME: smaller! *((unsigned *) (scsi_cmd_buf + 4)) = sizeof scsi_cmd_buf - 0x100; scsi_cmd_buf[8 + 0] = 0x12; scsi_cmd_buf[8 + 1] = 0x01; scsi_cmd_buf[8 + 2] = 0x80; scsi_cmd_buf[8 + 4] = 0xff;
k = ioctl(fd, SCSI_IOCTL_SEND_COMMAND, scsi_cmd_buf);
So it appears that the driver hangs because of a SCSI command. Is this kernel bug, and if so, where do I fix it?
TIA, Bart -- Bart Hartgers - TUE Eindhoven http://plasimo.phys.tue.nl/bart/contact.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |