Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8daedea656ef48d36d1bda3d1339da484387c710
Commit:     8daedea656ef48d36d1bda3d1339da484387c710
Parent:     c21b37f6449a3d799c7e75e978391674ee207600
Author:     Andrew Morton <[EMAIL PROTECTED]>
AuthorDate: Tue Jul 31 00:37:43 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue Jul 31 15:39:37 2007 -0700

    parport_pc locking fix
    
    http://bugzilla.kernel.org/show_bug.cgi?id=8821 reports a might_sleep()
    warning due to parport_pc_exit() running platform_device_unregister() while
    holding ports_lock.
    
    Just remove the locking: nobody else can access ports_list during 
module_exit.
    
    Cc: "Mike Sharkey" <[EMAIL PROTECTED]>
    Cc: Tim Waugh <[EMAIL PROTECTED]>
    Cc: Stas Sergeev <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/parport/parport_pc.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c
index 5d58ad5..e2be840 100644
--- a/drivers/parport/parport_pc.c
+++ b/drivers/parport/parport_pc.c
@@ -3445,7 +3445,6 @@ static void __exit parport_pc_exit(void)
                pnp_unregister_driver (&parport_pc_pnp_driver);
        platform_driver_unregister(&parport_pc_platform_driver);
 
-       spin_lock(&ports_lock);
        while (!list_empty(&ports_list)) {
                struct parport_pc_private *priv;
                struct parport *port;
@@ -3455,11 +3454,8 @@ static void __exit parport_pc_exit(void)
                if (port->dev && port->dev->bus == &platform_bus_type)
                        platform_device_unregister(
                                to_platform_device(port->dev));
-               spin_unlock(&ports_lock);
                parport_pc_unregister_port(port);
-               spin_lock(&ports_lock);
        }
-       spin_unlock(&ports_lock);
 }
 
 MODULE_AUTHOR("Phil Blundell, Tim Waugh, others");
-
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