From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757069AbXD0S5q (ORCPT ); Fri, 27 Apr 2007 14:57:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757045AbXD0S5p (ORCPT ); Fri, 27 Apr 2007 14:57:45 -0400 Received: from mx1.suse.de ([195.135.220.2]:50644 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757040AbXD0S5d (ORCPT ); Fri, 27 Apr 2007 14:57:33 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , James Bottomley Subject: [PATCH 21/46] SCSI: use the proper semaphore to protect the class lists Date: Fri, 27 Apr 2007 11:53:35 -0700 Message-Id: <1177700114535-git-send-email-gregkh@suse.de> X-Mailer: git-send-email 1.5.1.2 In-Reply-To: <11777001102852-git-send-email-gregkh@suse.de> References: <20070427185152.GA17121@kroah.com> <1177700040520-git-send-email-gregkh@suse.de> <11777000433552-git-send-email-gregkh@suse.de> <11777000471977-git-send-email-gregkh@suse.de> <11777000511784-git-send-email-gregkh@suse.de> <11777000552084-git-send-email-gregkh@suse.de> <1177700059319-git-send-email-gregkh@suse.de> <11777000632194-git-send-email-gregkh@suse.de> <11777000663361-git-send-email-gregkh@suse.de> <1177700070961-git-send-email-gregkh@suse.de> <1177700074272-git-send-email-gregkh@suse.de> <11777000773819-git-send-email-gregkh@suse.de> <11777000814075-git-send-email-gregkh@suse.de> <11777000852694-git-send-email-gregkh@suse.de> <11777000881307-git-send-email-gregkh@suse.de> <11777000923797-git-send-email-gregkh@suse.de> <11777000963332-git-send-email-gregkh@suse.de> <11777001002860-git-send-email-gregkh@suse.de> <11777001041847-git-send-email-gregkh@suse.de> <11777001072576-git-send-email-gregkh@suse.de> <11777001102852-git-send-email-gregkh@suse.de> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org SCSI was using the incorrect lock to protect walking the list of all devices in the class. This patch fixes this. Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/hosts.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c index 38c3a29..bd8e7f3 100644 --- a/drivers/scsi/hosts.c +++ b/drivers/scsi/hosts.c @@ -435,7 +435,7 @@ struct Scsi_Host *scsi_host_lookup(unsigned short hostnum) struct class_device *cdev; struct Scsi_Host *shost = ERR_PTR(-ENXIO), *p; - down_read(&class->subsys.rwsem); + down(&class->sem); list_for_each_entry(cdev, &class->children, node) { p = class_to_shost(cdev); if (p->host_no == hostnum) { @@ -443,7 +443,7 @@ struct Scsi_Host *scsi_host_lookup(unsigned short hostnum) break; } } - up_read(&class->subsys.rwsem); + up(&class->sem); return shost; } -- 1.5.1.2