# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.595 -> 1.596 # drivers/usb/printer.c 1.13 -> 1.14 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/08/20 greg@kroah.com 1.596 # minor printer driver fixes. # -------------------------------------------- # diff -Nru a/drivers/usb/printer.c b/drivers/usb/printer.c --- a/drivers/usb/printer.c Wed Aug 21 11:47:17 2002 +++ b/drivers/usb/printer.c Wed Aug 21 11:47:17 2002 @@ -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; @@ -616,10 +618,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;