Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc401e697f8c00ad1178a6758e86e3881dfa3181
Commit:     fc401e697f8c00ad1178a6758e86e3881dfa3181
Parent:     7b5cd5fefbe023625a7ff7604e8beb9a15a9efab
Author:     Pete Zaitcev <[EMAIL PROTECTED]>
AuthorDate: Mon Aug 13 22:50:13 2007 -0700
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Fri Oct 12 14:55:14 2007 -0700

    usblp: mutex in usblp_check_status
    
    Add a mutex to protect the ->statusbuf. Not really an issue, because CUPS
    is single-threaded when it talks to the printer, but I feel safer this way.
    This should be deadlock-free, but I kept this as a separate patch in case
    someone ends running a git bisect.
    
    Signed-off-by: Pete Zaitcev <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/usb/class/usblp.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c
index 9696668..2c4a359 100644
--- a/drivers/usb/class/usblp.c
+++ b/drivers/usb/class/usblp.c
@@ -345,16 +345,17 @@ static int usblp_check_status(struct usblp *usblp, int 
err)
        unsigned char status, newerr = 0;
        int error;
 
-       error = usblp_read_status (usblp, usblp->statusbuf);
-       if (error < 0) {
+       mutex_lock(&usblp->mut);
+       if ((error = usblp_read_status(usblp, usblp->statusbuf)) < 0) {
+               mutex_unlock(&usblp->mut);
                if (printk_ratelimit())
                        printk(KERN_ERR
                                "usblp%d: error %d reading printer status\n",
                                usblp->minor, error);
                return 0;
        }
-
        status = *usblp->statusbuf;
+       mutex_unlock(&usblp->mut);
 
        if (~status & LP_PERRORP)
                newerr = 3;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to