Explorar o código

IDE: remove rwsem use from ide-proc core

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>
Greg Kroah-Hartman %!s(int64=18) %!d(string=hai) anos
pai
achega
c401110186
Modificáronse 1 ficheiros con 0 adicións e 4 borrados
  1. 0 4
      drivers/ide/ide-proc.c

+ 0 - 4
drivers/ide/ide-proc.c

@@ -310,14 +310,12 @@ static int proc_ide_read_driver
 	ide_driver_t	*ide_drv;
 	ide_driver_t	*ide_drv;
 	int		len;
 	int		len;
 
 
-	down_read(&dev->bus->subsys.rwsem);
 	if (dev->driver) {
 	if (dev->driver) {
 		ide_drv = container_of(dev->driver, ide_driver_t, gen_driver);
 		ide_drv = container_of(dev->driver, ide_driver_t, gen_driver);
 		len = sprintf(page, "%s version %s\n",
 		len = sprintf(page, "%s version %s\n",
 				dev->driver->name, ide_drv->version);
 				dev->driver->name, ide_drv->version);
 	} else
 	} else
 		len = sprintf(page, "ide-default version 0.9.newide\n");
 		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);
 	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 ret = 1;
 	int err;
 	int err;
 
 
-	down_write(&dev->bus->subsys.rwsem);
 	device_release_driver(dev);
 	device_release_driver(dev);
 	/* FIXME: device can still be in use by previous driver */
 	/* FIXME: device can still be in use by previous driver */
 	strlcpy(drive->driver_req, driver, sizeof(drive->driver_req));
 	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))
 	if (dev->driver && !strcmp(dev->driver->name, driver))
 		ret = 0;
 		ret = 0;
-	up_write(&dev->bus->subsys.rwsem);
 
 
 	return ret;
 	return ret;
 }
 }