On Mon, Nov 11, 2002 at 08:37:34AM -0500, Steve Miller wrote: > Hi, > > I'm trying to write a driver for a usb device that requires a firmware > upload that is around 31Kb. This data is currently dealt with as a > static array of unsigned char and a pointer to it is given as the urb > transfer buffer when usb_submit_urb() is called. Then the usb core > crashes. I'm working with the 2.4.18 kernel from Mandrake 8.2. Here is > the error output: The USB core can't handle data that is static. You need to have your urb buffer be created with kmalloc (I thought this was documented somewhere...) See the ezusb_writememory() function in drivers/usb/serial/usbserial.c as an example of how to handle writing firmware from within a kernel driver. Hope this helps, greg k-h -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/