FS#8943 - USB Storage connection makes ata.c disable disk spindown

Attached to Project: Rockbox
Opened by Frank Gevaerts (fg) - Sunday, 27 April 2008, 19:29 GMT
Last edited by Frank Gevaerts (fg) - Thursday, 02 October 2008, 21:02 GMT
Task Type Bugs
Category Drivers
Status Closed
Assigned To No-one
Operating System PortalPlayer-based
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


ata.c calls usb_wait_for_disconnect() after receiving a SYS_USB_CONNECTED event. This may be correct for hardware ATA/USB bridges, but it is wrong for the rockbox usb stack, because it also disables other events, some of which seem to be used to manage sleep timeouts.

I don't know enough about ata.c to actually touch this, but probaby just make disable usb_wait_for_disconnect() if USE_ROCKBOX_USB and HAVE_USBSTACK are defined is enough (both, because USE_ROCKBOX_USB will probably disappear at some point).
This task depends upon

Closed by  Frank Gevaerts (fg)
Thursday, 02 October 2008, 21:02 GMT
Reason for closing:  Accepted
Comment by Linus Nielsen Feltzing (linusnielsen) - Wednesday, 27 August 2008, 13:36 GMT
Here is a quick *untested* patch to fix this issue.
Comment by Bryan Childs (GodEater) - Wednesday, 27 August 2008, 13:58 GMT
Just applied this to a build for my Gigabeat S (along with #9312) - no madly spinning disk, everything else appears to work as expected.
Comment by Bryan Childs (GodEater) - Monday, 01 September 2008, 12:03 GMT
I spoke too soon.

Whilst this does seem to work okay in conjunction with charging - it does intefer with the USB MSC code. Doing anything to the disk while it's hooked up over USB completely hosed the filesystem. Twice! (I'm a glutton for punishment!)

Comment by Frank Gevaerts (fg) - Monday, 01 September 2008, 12:23 GMT
All results between r18327 and r18370 are suspect, since it seems that MSC was really buggy there on everything but sansa (causing massive corruption even without this patch)
Comment by Jacob Brooks (jac0b) - Monday, 01 September 2008, 13:38 GMT
Yeah I was having a problem with this a couple days ago with a my build made on 08-28-2008 (I forgot the rev. #). I was transferring about 24GB to my mp3 player and after a while it would freeze my system or just disconnect and when turned back on nothing was there but a bunch of files with weird file names. I did smaller transfers which seemed to work.