diff options
Diffstat (limited to 'drivers/usb/storage/ene_ub6250.c')
-rw-r--r-- | drivers/usb/storage/ene_ub6250.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/storage/ene_ub6250.c b/drivers/usb/storage/ene_ub6250.c index 1bfc9a6cab5f..ef6efb55dc31 100644 --- a/drivers/usb/storage/ene_ub6250.c +++ b/drivers/usb/storage/ene_ub6250.c | |||
@@ -1928,11 +1928,10 @@ static int ene_load_bincode(struct us_data *us, unsigned char flag) | |||
1928 | usb_stor_dbg(us, "load firmware %s failed\n", fw_name); | 1928 | usb_stor_dbg(us, "load firmware %s failed\n", fw_name); |
1929 | goto nofw; | 1929 | goto nofw; |
1930 | } | 1930 | } |
1931 | buf = kmalloc(sd_fw->size, GFP_KERNEL); | 1931 | buf = kmemdup(sd_fw->data, sd_fw->size, GFP_KERNEL); |
1932 | if (buf == NULL) | 1932 | if (buf == NULL) |
1933 | goto nofw; | 1933 | goto nofw; |
1934 | 1934 | ||
1935 | memcpy(buf, sd_fw->data, sd_fw->size); | ||
1936 | memset(bcb, 0, sizeof(struct bulk_cb_wrap)); | 1935 | memset(bcb, 0, sizeof(struct bulk_cb_wrap)); |
1937 | bcb->Signature = cpu_to_le32(US_BULK_CB_SIGN); | 1936 | bcb->Signature = cpu_to_le32(US_BULK_CB_SIGN); |
1938 | bcb->DataTransferLength = sd_fw->size; | 1937 | bcb->DataTransferLength = sd_fw->size; |