lkml.org 
[lkml]   [2005]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjecthddtemp hangs usb-storage for 66 seconds
    I have a Chronos 6-in-1 card reader with USB interface. Currently the 
    slots are empty and running hddtemp /dev/sda (fist slot, CF) puts
    hddtemp and usb-storage processes into D state. I thought they were
    stuck but while writing this message it became unstuck.

    Hardware is 3 different x86 PC-s with both UHCI and OHCI host
    controllers, 2.6.9..2.6.11-rc3 tested, card reader is identified by
    lsusb as
    Bus 001 Device 002: ID 0dda:0102 Integrated Circuit Solution, Inc.

    First it logs 5 times the message
    program hddtemp is using a deprecated SCSI ioctl, please convert it to SG_IO
    and then usb-storage remains in D state in usb_stor_msg_common and
    hddtemp is in D state in blk_execute_rq and then hddtemp exits after 66
    seconds with error message
    /dev/sda: log sense failed : Invalid argument

    Can something be done with usb-storage to give the result quicker? For
    me the problem happens at boot, the workarounds are removing removing
    the card readed during boot or fiddling with hddtemp conf everytime I
    rearrange storage devices (both are bad but not unbearable).

    strace fragment of hddtemp:

    20211 open("/dev/sda", O_RDONLY|O_NONBLOCK) = 3 <0.078510>
    20211 ioctl(0x3, 0x30d, 0x80538a0) = -1 (errno 22) <0.000094>
    20211 ioctl(0x3, 0x5386, 0xbffffd34) = 0 <0.000063>
    20211 ioctl(0x3, 0x1, 0xbffffc10) = 0 <0.007336>
    20211 ioctl(0x3, 0x1, 0xbffff650) = 0 <0.007175>
    20211 ioctl(0x3, 0x1, 0xbffff650) = 0 <0.007258>
    20211 ioctl(0x3, 0x1, 0xbffff650) = 0 <0.007242>
    20211 ioctl(0x3, 0x1, 0xbffff4a0) = 0x2 <66.020693>
    20211 close(3) = 0 <0.000177>
    20211 write(2, "/dev/sda: log sense failed : Invalid argument\n", 46) = 46 <0.001035>

    So it seems it's 7th SCSI_IOCTL_SEND_COMMAND ioctl that takes so long.
    At the first glance it seems to be SCSI_IOCTL_SEND_COMMAND with
    LOG_SENSE command (and the error message confirms this).

    hddtemp is debian's 0.3-beta12-9.

    --
    Meelis Roos (mroos@linux.ee)
    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:10    [W:2.526 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site