This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree:
Subject: [media] tm6000: Properly count device usage Author: Thierry Reding <[email protected]> Date: Thu Aug 4 04:14:11 2011 -0300 When the USB device is disconnected, the device usage bit is not cleared properly. This leads to errors when a device is unplugged and replugged several times until all TM6000_MAXBOARDS bits are used and keeps the driver from binding to the device. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> drivers/staging/tm6000/tm6000-cards.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=6f2e77bb955771a7b8de80ea519c1e9a82b864dd diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c index f247e7e..d2ee18f 100644 --- a/drivers/staging/tm6000/tm6000-cards.c +++ b/drivers/staging/tm6000/tm6000-cards.c @@ -1171,7 +1171,7 @@ static int tm6000_usb_probe(struct usb_interface *interface, mutex_init(&dev->usb_lock); /* Increment usage count */ - tm6000_devused |= 1<<nr; + set_bit(nr, &tm6000_devused); snprintf(dev->name, 29, "tm6000 #%d", nr); dev->model = id->driver_info; @@ -1287,7 +1287,7 @@ static int tm6000_usb_probe(struct usb_interface *interface, err: printk(KERN_ERR "tm6000: Error %d while registering\n", rc); - tm6000_devused &= ~(1<<nr); + clear_bit(nr, &tm6000_devused); usb_put_dev(usbdev); kfree(dev); @@ -1345,6 +1345,7 @@ static void tm6000_usb_disconnect(struct usb_interface *interface) tm6000_close_extension(dev); tm6000_remove_from_devlist(dev); + clear_bit(dev->devno, &tm6000_devused); kfree(dev); } _______________________________________________ linuxtv-commits mailing list [email protected] http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
