# 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.567 -> 1.568 # drivers/usb/class/printer.c 1.21 -> 1.22 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/05/02 oliver@neukum.name 1.568 # [PATCH] tiny race with devfs in printer # # USB printer bugfix # # looking through printer.c in preparation for shifting devfs # support to usbcore I noticed that printer advertises a device # through devfs before it can be opened. # As devfs, or more precisely devfsd can be used to trigger actions # this matters and is wrong. # -------------------------------------------- # diff -Nru a/drivers/usb/class/printer.c b/drivers/usb/class/printer.c --- a/drivers/usb/class/printer.c Thu May 2 16:47:17 2002 +++ b/drivers/usb/class/printer.c Thu May 2 16:47:17 2002 @@ -871,6 +871,9 @@ usblp_check_status(usblp, 0); #endif + /* add a table entry so the device works when advertised */ + usblp_table[usblp->minor] = usblp; + /* If we have devfs, create with perms=660. */ sprintf(name, "lp%d", usblp->minor); usblp->devfs = devfs_register(usb_devfs_handle, name, @@ -886,7 +889,7 @@ usblp->current_protocol, usblp->dev->descriptor.idVendor, usblp->dev->descriptor.idProduct); - return usblp_table[usblp->minor] = usblp; + return usblp; abort: if (usblp) {