All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Zwell <dzwell@gmail.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Oliver Neukum <oliver@neukum.org>,
	Tino Keitel <tino.keitel@gmx.de>,
	David Brownell <david-b@pacbell.net>,
	linux-kernel@vger.kernel.org
Subject: Re: 2.6.23-rc1: USB hard disk broken
Date: Fri, 10 Aug 2007 16:30:21 -0400	[thread overview]
Message-ID: <46BCCADD.1040501@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0708101010170.3722-100000@iolanthe.rowland.org>

Alan Stern wrote:
>> [  126.512815] usb 1-1: usb auto-resume
>> [  126.543447] uhci_hcd 0000:00:1f.2: port 1 portsc 00a5,01
>> [  126.559426] usb 1-1: finish resume
>> [  126.561435] usb 1-1: gone after usb resume? status -19
>> [  126.561445] usb 1-1: can't resume, status -19
>> [  126.561451] hub 1-0:1.0: logical disconnect on port 1
>> [  126.562486] sd 5:0:0:0: [sdb] Result: hostbyte=DID_ERROR 
>> driverbyte=DRIVER_OK,SUGGEST_OK
> 
> This suggests a bug in the device's firmware, probably it sends a 
> 1-byte Device-Status reply instead of a 2-byte reply as required by the 
> USB spec.  You could find out for certain by using usbmon.
> 
> But if that is indeed the problem, the patch below should help.  I've 
> seen it before; perhaps we should adopt this workaround permanently.
> 
>> Relevant info:
>> -obviously, I'm using uhci
>> -the drive is SATA, connected to USB with a SATA/IDE to USB adapter
>> -this problem does not occur with a USB flash drive
>> -reverting the commit that introduced auto-suspend prevents this error.
> 
> If necessary you could disable autosuspend for your drive.  But first 
> test this patch.
> 
> Alan Stern
> 
> 
> 
> Index: 2.6.23-rc1/drivers/usb/core/hub.c
> ===================================================================
> --- 2.6.23-rc1.orig/drivers/usb/core/hub.c
> +++ 2.6.23-rc1/drivers/usb/core/hub.c
> @@ -1644,9 +1644,10 @@ static int finish_port_resume(struct usb
>  	 * and device drivers will know about any resume quirks.
>  	 */
>  	if (status == 0) {
> +		devstatus = 0;
>  		status = usb_get_status(udev, USB_RECIP_DEVICE, 0, &devstatus);
>  		if (status >= 0)
> -			status = (status == 2 ? 0 : -ENODEV);
> +			status = (status > 0 ? 0 : -ENODEV);
>  	}
>  
>  	if (status) {
> 
> 

Alan,

Yes, that patch worked, and dmesg now shows the device auto-suspending 
and resuming every few seconds. Thanks a lot. I hope you do merge this 
patch or a workaround like it.

Dan

  reply	other threads:[~2007-08-10 20:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-25  7:23 2.6.23-rc1: USB hard disk broken Tino Keitel
2007-07-25  8:24 ` Oliver Neukum
2007-07-25 18:13   ` Tino Keitel
2007-07-26  8:06     ` Oliver Neukum
2007-08-05 11:09       ` Tino Keitel
2007-08-05 11:41         ` Tino Keitel
2007-08-05 15:46         ` Oliver Neukum
2007-08-05 19:11           ` David Brownell
2007-08-09 16:58           ` Dan Zwell
2007-08-09 20:00             ` Alan Stern
2007-08-09 20:25               ` Tino Keitel
2007-08-09 22:20               ` Dan Zwell
2007-08-10 14:18                 ` Alan Stern
2007-08-10 20:30                   ` Dan Zwell [this message]
2007-08-10 20:43                     ` Alan Stern
2007-09-12 21:57                     ` 2.6.23-rc1: USB hard disk broken (REGRESSION) Mark Lord
2007-09-12 22:40                       ` Mark Lord

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46BCCADD.1040501@gmail.com \
    --to=dzwell@gmail.com \
    --cc=david-b@pacbell.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oliver@neukum.org \
    --cc=stern@rowland.harvard.edu \
    --cc=tino.keitel@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.