I'm using the usb-storage driver to read/write an MMC card using the
SanDisk ImageMate (SDDR12). Under kernel 2.4.4, and usb-uhci I'm having
the following problems:
* The application hangs when it closes the filehandle. Currently I
fh = open("/dev/sdc", O_RDWR) the device, write a bunch of stuff, and
then close(fh). Upon close the program hangs in the "D" state as
reported by ps (forever...). The program worked with older kernels...
The program also works fine if no data is written.
* When it did work, the close(fh) would also hang for several seconds,
but eventually return. My program transfers files to the MMC, and
when transferring the file, the orange light on the device blinks
rapidly. When the transferring is done, and the filehandle is closed,
the light on the device turns of for several seconds. I've tried
inserting ioctl(fh, SCSI_IOCTL_SYNC) in several places, but this
didn't seem to have any affect. The amount of time it hung was
independent of how much data was transferred, unless no data was
written, then there was no hang.
So in either case it seems like something funny is happening when the
device is closed, and data was written. Does anyone have any ideas off
the top of their heads? Suggestions as to how I should go about
tracking this down?
Does anyone else actually use the SDDR12 under linux, or am I the only
one? ;)
The software in question is mjmmc, part of mj-tools
(http://www.sourceforge.net/projects/mj-tools)
Thanks,
-- Bob
Bob McElrath ([EMAIL PROTECTED])
Univ. of Wisconsin at Madison, Department of Physics
PGP signature