patch-2.4.20 linux-2.4.20/drivers/usb/printer.c
Next file: linux-2.4.20/drivers/usb/pwc-if.c
Previous file: linux-2.4.20/drivers/usb/pegasus.h
Back to the patch index
Back to the overall index
- Lines: 58
- Date:
Thu Nov 28 15:53:14 2002
- Orig file:
linux-2.4.19/drivers/usb/printer.c
- Orig date:
Fri Aug 2 17:39:45 2002
diff -urN linux-2.4.19/drivers/usb/printer.c linux-2.4.20/drivers/usb/printer.c
@@ -257,7 +257,7 @@
* Get and print printer errors.
*/
-static char *usblp_messages[] = { "ok", "out of paper", "off-line", "on fire" };
+static char *usblp_messages[] = { "ok", "out of paper", "off-line", "unknown error" };
static int usblp_check_status(struct usblp *usblp, int err)
{
@@ -388,7 +388,8 @@
{
struct usblp *usblp = file->private_data;
int length, err, i;
- unsigned char status, newChannel;
+ unsigned char lpstatus, newChannel;
+ int status;
int twoints[2];
int retval = 0;
@@ -539,12 +540,13 @@
switch (cmd) {
case LPGETSTATUS:
- if (usblp_read_status(usblp, &status)) {
+ if (usblp_read_status(usblp, &lpstatus)) {
err("usblp%d: failed reading printer status", usblp->minor);
retval = -EIO;
goto done;
}
- if (copy_to_user ((unsigned char *)arg, &status, 1))
+ status = lpstatus;
+ if (copy_to_user ((int *)arg, &status, sizeof(int)))
retval = -EFAULT;
break;
@@ -560,7 +562,8 @@
static ssize_t usblp_write(struct file *file, const char *buffer, size_t count, loff_t *ppos)
{
struct usblp *usblp = file->private_data;
- int timeout, err = 0, writecount = 0;
+ int timeout, err = 0;
+ size_t writecount = 0;
while (writecount < count) {
@@ -616,10 +619,9 @@
(count - writecount) : USBLP_BUF_SIZE;
if (copy_from_user(usblp->writeurb.transfer_buffer, buffer + writecount,
- usblp->writeurb.transfer_buffer_length))
- {
+ usblp->writeurb.transfer_buffer_length)) {
up(&usblp->sem);
- return writecount?writecount:-EFAULT;
+ return writecount ? writecount : -EFAULT;
}
usblp->writeurb.dev = usblp->dev;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)