diff options
-rw-r--r-- | drivers/staging/dgap/dgap.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index 4f07a0cae987..b344e035b0ef 100644 --- a/drivers/staging/dgap/dgap.c +++ b/drivers/staging/dgap/dgap.c @@ -7024,22 +7024,9 @@ static void dgap_stop(bool removesys, struct pci_driver *drv) static void dgap_remove_one(struct pci_dev *dev) { unsigned int i; - ulong lock_flags; struct pci_driver *drv = to_pci_driver(dev->dev.driver); - spin_lock_irqsave(&dgap_poll_lock, lock_flags); - dgap_poll_stop = 1; - spin_unlock_irqrestore(&dgap_poll_lock, lock_flags); - - /* Turn off poller right away. */ - del_timer_sync(&dgap_poll_timer); - - dgap_remove_driver_sysfiles(drv); - - device_destroy(dgap_class, MKDEV(DIGI_DGAP_MAJOR, 0)); - class_destroy(dgap_class); - unregister_chrdev(DIGI_DGAP_MAJOR, "dgap"); - + dgap_stop(true, drv); for (i = 0; i < dgap_numboards; ++i) { dgap_remove_ports_sysfiles(dgap_board[i]); dgap_cleanup_tty(dgap_board[i]); |