On Feb 4, 2008 8:21 PM, Greg KH <[EMAIL PROTECTED]> wrote: > On Mon, Feb 04, 2008 at 07:44:45PM +0530, Lal wrote: > > I have developed a sample USB mass storage driver. > > I'm curious why the two existing drivers for this in the kernel did not > properly work out for you. Are we not supporting something that you > found lacking?
The existing drivers are working well indeed. I just wanted to learn the mechanism of block/usb drivers, and I wondered if I can do this by writing a sample driver. The relevant source code has been uploaded at http://learner.kernel.googlepages.com/usb8in1.h http://learner.kernel.googlepages.com/usb_bulk.c http://learner.kernel.googlepages.com/usb_bulk.h http://learner.kernel.googlepages.com/usb_transport.c The function usb8in1_request (in file usb_bulk.c) receives block driver's request and postpone the request processing to workqueue function do_usb8in1_data_transfer (in usb_bulk.c), which submits urb and waits for response (in file usb_transport.c) As I mentioned earlier, this sample driver works for small files but crashes while reading larger files. -Lal > > > Using this driver, I can mount file system on my CF card, and can > > read/write small files to/from CF card. However, the driver crashes > > while reading/writing large files. > > From kernel stack trace, it seems there is some synchronization issue > > with interrupts. I see kernel stack something like this: > > > > soft lockup detected on CPU#0 > > Do you have a pointer to the source for your driver? Without that, it's > going to be very hard to determine why problems are occuring. > > thanks, > > greg k-h > - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html