From patchwork Mon Mar 5 21:53:08 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Gardner X-Patchwork-Id: 144781 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from chlorine.canonical.com (chlorine.canonical.com [91.189.94.204]) by ozlabs.org (Postfix) with ESMTP id 26999B6EEA for ; Tue, 6 Mar 2012 08:53:30 +1100 (EST) Received: from localhost ([127.0.0.1] helo=chlorine.canonical.com) by chlorine.canonical.com with esmtp (Exim 4.71) (envelope-from ) id 1S4fqL-00049S-9v; Mon, 05 Mar 2012 21:53:21 +0000 Received: from mail-pw0-f49.google.com ([209.85.160.49]) by chlorine.canonical.com with esmtp (Exim 4.71) (envelope-from ) id 1S4fqI-00049G-Di for kernel-team@lists.ubuntu.com; Mon, 05 Mar 2012 21:53:18 +0000 Received: by pbcun4 with SMTP id un4so917744pbc.8 for ; Mon, 05 Mar 2012 13:53:17 -0800 (PST) Received-SPF: pass (google.com: domain of rtg.canonical@gmail.com designates 10.68.218.228 as permitted sender) client-ip=10.68.218.228; Authentication-Results: mr.google.com; spf=pass (google.com: domain of rtg.canonical@gmail.com designates 10.68.218.228 as permitted sender) smtp.mail=rtg.canonical@gmail.com; dkim=pass header.i=rtg.canonical@gmail.com Received: from mr.google.com ([10.68.218.228]) by 10.68.218.228 with SMTP id pj4mr54922535pbc.167.1330984397560 (num_hops = 1); Mon, 05 Mar 2012 13:53:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:reply-to:user-agent:mime-version:to:subject :content-type; bh=oaajQXdfwecwdFbyLScIiPabwDvZkUULvQ5YDbxNB/I=; b=cxQaoqeuz1XhHLsfJ2+sOieZG/mXwuOn2EwKMpiKzxkSuGhTMUGP2Bymqe+LSVy6C9 qc1oA6ajyPsEWTbiYH0r4Y7P6Yf/TAUiH1RymhwUe/4a6lRvSph5oV48nYwIj3Oj4xuK zL2kZZTcLGVDBQClTm+gKfapQwpVIPGcPsyinBBGvk14ZSsjxXWzAee7V1fPEg2d7ztF cr7nNfSa+1rVvSEW9/L3QsNK07OnUJErrtfIvwSRoCts2Nk9w0SYyxO6s+KVSp0dpqu9 Ex4pfSgJngzwz+X3j+M6GkQMbbAAUbx3D+atP5HlHfN8O/L+VbVrofGPjNOLPsr+1F4z 2iJA== Received: by 10.68.218.228 with SMTP id pj4mr47085159pbc.167.1330984397474; Mon, 05 Mar 2012 13:53:17 -0800 (PST) Received: from [10.0.2.6] (host-174-45-43-11.hln-mt.client.bresnan.net. [174.45.43.11]) by mx.google.com with ESMTPS id x8sm14345332pbr.11.2012.03.05.13.53.15 (version=SSLv3 cipher=OTHER); Mon, 05 Mar 2012 13:53:16 -0800 (PST) Message-ID: <4F5535C4.50707@canonical.com> Date: Mon, 05 Mar 2012 14:53:08 -0700 From: Tim Gardner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120302 Thunderbird/11.0 MIME-Version: 1.0 To: kernel-team Subject: Hardy SRU - bsg: fix sysfs link remove warning X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.13 Precedence: list Reply-To: tim.gardner@canonical.com List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kernel-team-bounces@lists.ubuntu.com Errors-To: kernel-team-bounces@lists.ubuntu.com From 5242342fbb22946413367c72d1b6f0267fe3b6f1 Mon Sep 17 00:00:00 2001 From: Tim Gardner Date: Mon, 5 Mar 2012 14:49:54 -0700 Subject: [PATCH Hardy SRU] bsg: fix sysfs link remove warning We create "bsg" link if q->kobj.sd is not NULL, so remove it only when the same condition is true. Fixes: WARNING: at fs/sysfs/inode.c:323 sysfs_hash_and_remove+0x2b/0x77() sysfs: can not remove 'bsg', no directory Call Trace: [] warn_slowpath_common+0x6a/0x7f [] ? sysfs_hash_and_remove+0x2b/0x77 [] warn_slowpath_fmt+0x2b/0x2f [] sysfs_hash_and_remove+0x2b/0x77 [] sysfs_remove_link+0x20/0x23 [] bsg_unregister_queue+0x40/0x6d [] __scsi_remove_device+0x31/0x9d [] scsi_forget_host+0x41/0x52 [] scsi_remove_host+0x71/0xe0 [] quiesce_and_remove_host+0x51/0x83 [usb_storage] [] usb_stor_disconnect+0x18/0x22 [usb_storage] [] usb_unbind_interface+0x4e/0x109 [] __device_release_driver+0x6b/0xa6 [] device_release_driver+0x17/0x22 [] bus_remove_device+0xd6/0xe6 [] device_del+0xf2/0x137 [] usb_disable_device+0x94/0x1a0 Signed-off-by: Stanislaw Gruszka Signed-off-by: Jens Axboe (backported from commit 37b40adf2d1b4a5e51323be73ccf8ddcf3f15dd3) Signed-off-by: Tim Gardner --- block/bsg.c | 3 ++- debian/binary-custom.d/openvz/src/block/bsg.c | 3 ++- debian/binary-custom.d/xen/src/block/bsg.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/block/bsg.c b/block/bsg.c index 31f85dd..180a406 100644 --- a/block/bsg.c +++ b/block/bsg.c @@ -929,7 +929,8 @@ void bsg_unregister_queue(struct request_queue *q) mutex_lock(&bsg_mutex); idr_remove(&bsg_minor_idr, bcd->minor); - sysfs_remove_link(&q->kobj, "bsg"); + if (q->kobj.sd) + sysfs_remove_link(&q->kobj, "bsg"); class_device_unregister(bcd->class_dev); put_device(bcd->dev); bcd->class_dev = NULL; diff --git a/debian/binary-custom.d/openvz/src/block/bsg.c b/debian/binary-custom.d/openvz/src/block/bsg.c index 31f85dd..180a406 100644 --- a/debian/binary-custom.d/openvz/src/block/bsg.c +++ b/debian/binary-custom.d/openvz/src/block/bsg.c @@ -929,7 +929,8 @@ void bsg_unregister_queue(struct request_queue *q) mutex_lock(&bsg_mutex); idr_remove(&bsg_minor_idr, bcd->minor); - sysfs_remove_link(&q->kobj, "bsg"); + if (q->kobj.sd) + sysfs_remove_link(&q->kobj, "bsg"); class_device_unregister(bcd->class_dev); put_device(bcd->dev); bcd->class_dev = NULL; diff --git a/debian/binary-custom.d/xen/src/block/bsg.c b/debian/binary-custom.d/xen/src/block/bsg.c index 31f85dd..180a406 100644 --- a/debian/binary-custom.d/xen/src/block/bsg.c +++ b/debian/binary-custom.d/xen/src/block/bsg.c @@ -929,7 +929,8 @@ void bsg_unregister_queue(struct request_queue *q) mutex_lock(&bsg_mutex); idr_remove(&bsg_minor_idr, bcd->minor); - sysfs_remove_link(&q->kobj, "bsg"); + if (q->kobj.sd) + sysfs_remove_link(&q->kobj, "bsg"); class_device_unregister(bcd->class_dev); put_device(bcd->dev); bcd->class_dev = NULL; -- 1.7.9