patch-2.3.6 linux/drivers/usb/printer.c
Next file: linux/drivers/usb/stopusb
Previous file: linux/drivers/usb/ohci.h
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
Mon Jun 7 20:04:01 1999
- Orig file:
v2.3.5/linux/drivers/usb/printer.c
- Orig date:
Mon May 31 22:28:06 1999
diff -u --recursive --new-file v2.3.5/linux/drivers/usb/printer.c linux/drivers/usb/printer.c
@@ -179,13 +179,14 @@
}
result = p->pusb_dev->bus->op->bulk_msg(p->pusb_dev,
usb_sndbulkpipe(p->pusb_dev, 1), obuf, thistime, &partial);
- if (result & 0x08) { /* NAK - so hold for a while */
- obuf += partial;
- thistime -= partial;
+ if (result == USB_ST_TIMEOUT) { /* NAK - so hold for a while */
if(!maxretry--)
return -ETIME;
interruptible_sleep_on_timeout(&p->wait_q, NAK_TIMEOUT);
continue;
+ } else if (!result & partial) {
+ obuf += partial;
+ thistime -= partial;
} else
break;
};
@@ -230,7 +231,7 @@
usb_rcvbulkpipe(p->pusb_dev, 2), buf, this_read, &partial);
/* unlike writes, we don't retry a NAK, just stop now */
- if (result & 0x08)
+ if (!result & partial)
count = this_read = partial;
else if (result)
return -EIO;
@@ -260,7 +261,7 @@
return -1;
}
- interface = dev->config->interface;
+ interface = dev->config->altsetting->interface;
/* Lets be paranoid (for the moment)*/
if (interface->bInterfaceClass != 7 ||
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)