|
@@ -613,16 +613,14 @@ static void if_usb_receive_fwload(struct urb *urb)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- syncfwheader = kmalloc(sizeof(struct fwsyncheader), GFP_ATOMIC);
|
|
|
+ syncfwheader = kmemdup(skb->data + IPFIELD_ALIGN_OFFSET,
|
|
|
+ sizeof(struct fwsyncheader), GFP_ATOMIC);
|
|
|
if (!syncfwheader) {
|
|
|
lbs_deb_usbd(&cardp->udev->dev, "Failure to allocate syncfwheader\n");
|
|
|
kfree_skb(skb);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- memcpy(syncfwheader, skb->data + IPFIELD_ALIGN_OFFSET,
|
|
|
- sizeof(struct fwsyncheader));
|
|
|
-
|
|
|
if (!syncfwheader->cmd) {
|
|
|
lbs_deb_usb2(&cardp->udev->dev, "FW received Blk with correct CRC\n");
|
|
|
lbs_deb_usb2(&cardp->udev->dev, "FW received Blk seqnum = %d\n",
|