diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c index d12cfc9aa32a..f0ac43838461 100644 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c @@ -332,15 +332,15 @@ int card_send_command(struct ft1000_usb *ft1000dev, void *ptempbuffer, pr_debug("enter card_send_command... size=%d\n", size); + ret = ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL); + if (ret) + return ret; + commandbuf = kmalloc(size + 2, GFP_KERNEL); if (!commandbuf) return -ENOMEM; memcpy((void *)commandbuf + 2, (void *)ptempbuffer, size); - ret = ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL); - if (ret) - return ret; - if (temp & 0x0100) usleep_range(900, 1100);