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

Reply via email to