Greg scribeth : > Hm, that's odd. Do you have a pointer to the code, or perhaps just a > small snippet that you can post here showing the problem?
Here's the request_firmware line :
err = request_firmware(&p54u->fw_entry, P54U_IMAGE_FILE, netdev->class_dev.dev);
And later :
********************************************************************
static int p54u_load_firmware(struct net_device *netdev)
{
struct p54u *p54u = netdev_priv(netdev);
struct usb_device *usbdev = p54u->usbdev;
unsigned int pipe;
u32 reg;
void *data;
size_t len;
int err, i, j, k, l;
u64 t, t1, t2;
char *rcv;
p54u_info("%s: Load firmware.\n", netdev->name); pipe = usb_sndbulkpipe(usbdev, P54U_PIPE_DATA);
data = p54u->fw_entry->data;
i = p54u->fw_entry->size;
j = 0;
while(i > 0) {
len = i > P54U_FW_BLOCK ? P54U_FW_BLOCK : i;
t1 = p54u_time();
p54u->err = usb_bulk_msg(usbdev, pipe, data, len, &len, HZ);
*******************************************************************************P54U_FW_BLOCK is equal 512 What we seem to need to do is (ie): define a temp buffer eg. unsigned char tmpbuf[512]; (or kmalloc it) Then before the bulk_msg, memcpy(tmpbuf, data, len) and pass tmpbuf to bulk_msg.
Margit
------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
