]> err.no Git - linux-2.6/commitdiff
IDE: remove rwsem use from ide-proc core
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 27 Apr 2007 17:57:30 +0000 (10:57 -0700)
The subsystem rwsem is not used by the driver core at all, so the use of
it in the ide-proc code of it doesn't make any sense.  Perhaps a local
lock might be needed, but I do not really think so.

Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: linux ide <linux-ide@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ide/ide-proc.c

index afb71c66b6f3f94e0517cc641feb01db0a1715b6..a9e0b30fb1f2180216c75aadded6492821aa6898 100644 (file)
@@ -310,14 +310,12 @@ static int proc_ide_read_driver
        ide_driver_t    *ide_drv;
        int             len;
 
-       down_read(&dev->bus->subsys.rwsem);
        if (dev->driver) {
                ide_drv = container_of(dev->driver, ide_driver_t, gen_driver);
                len = sprintf(page, "%s version %s\n",
                                dev->driver->name, ide_drv->version);
        } else
                len = sprintf(page, "ide-default version 0.9.newide\n");
-       up_read(&dev->bus->subsys.rwsem);
        PROC_IDE_READ_RETURN(page,start,off,count,eof,len);
 }
 
@@ -327,7 +325,6 @@ static int ide_replace_subdriver(ide_drive_t *drive, const char *driver)
        int ret = 1;
        int err;
 
-       down_write(&dev->bus->subsys.rwsem);
        device_release_driver(dev);
        /* FIXME: device can still be in use by previous driver */
        strlcpy(drive->driver_req, driver, sizeof(drive->driver_req));
@@ -345,7 +342,6 @@ static int ide_replace_subdriver(ide_drive_t *drive, const char *driver)
        }
        if (dev->driver && !strcmp(dev->driver->name, driver))
                ret = 0;
-       up_write(&dev->bus->subsys.rwsem);
 
        return ret;
 }