Increase the delay between issuing the RESET command and the usb reset,
and be prepared to discard more than one 'normal' packet from it before
it resets.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
        cmd->params.reset.action = cpu_to_le16(CMD_ACT_HALT);
        usb_tx_block(cardp, cardp->bulk_out_buffer, 4 + S_DS_GEN + sizeof(struct cmd_ds_802_11_reset));
 
-       msleep(10);
+       msleep(100);
        ret = usb_reset_device(cardp->udev);
-       msleep(10);
+       msleep(100);
 
        lbs_deb_leave_args(LBS_DEB_USB, "ret %d", ret);
 
                return;
        }
 
-       if (cardp->bootcmdresp == 0) {
+       if (cardp->bootcmdresp <= 0) {
                memcpy (&bootcmdresp, skb->data + IPFIELD_ALIGN_OFFSET,
                        sizeof(bootcmdresp));
                if (le16_to_cpu(cardp->udev->descriptor.bcdDevice) < 0x3106) {