From patchwork Wed Apr 5 10:32:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Pundir X-Patchwork-Id: 96822 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp196189qgd; Wed, 5 Apr 2017 03:33:56 -0700 (PDT) X-Received: by 10.98.111.129 with SMTP id k123mr28735164pfc.18.1491388436724; Wed, 05 Apr 2017 03:33:56 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f19si16121799pgk.27.2017.04.05.03.33.56; Wed, 05 Apr 2017 03:33:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933500AbdDEKdk (ORCPT + 6 others); Wed, 5 Apr 2017 06:33:40 -0400 Received: from mail-pg0-f45.google.com ([74.125.83.45]:34011 "EHLO mail-pg0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933476AbdDEKdh (ORCPT ); Wed, 5 Apr 2017 06:33:37 -0400 Received: by mail-pg0-f45.google.com with SMTP id 21so6037321pgg.1 for ; Wed, 05 Apr 2017 03:33:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=iuPu4lRlMjUFwZ+IXyUm+27S2ChXPG77SFpGXF94I7c=; b=bZCuJXzD5W8037jwVvIiOc82H5AGV1xzn+Md6b0a/TNcTwocuwJJzjyNhsjXNkFvcQ 4OOZRl00SIB1HET6D/A3/Vzfg+cHy2Zv4lGUdWX28dZ3dlwNC000PTX9fGvw+3FuNWTO VrTjBx7DYoIsLq00XP4xnoi6JaHdTT51HwR2g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=iuPu4lRlMjUFwZ+IXyUm+27S2ChXPG77SFpGXF94I7c=; b=nQHAMd+eOJT6pwOsRiw/LvGfEwH+4mKOYLkNOm1w1DIMsdp03U8Bgun/D9vK+odv4h /a1iAQG0MA4rzPwomJL0LDX1KSb5tNL5YDr89G2Mk/YvVhrG55ioAd1O7vixY1CXAaFF 5eo/acwEvpzSKD1Pjw15zWz2mzFg7uc3LskRFZK46SJ47jsi932bLkLM6kJ7FdpbWhbY ND31t8rQ9IQZs6UKr+hWx0Uuf3IsQotjkFfWbNWxh4VN3cRPpenKfDnpoKFr8JLjucwK tx/3l8mBpLIAmK+bbkPQPkmT9JEC8aISV92CTiNBpWng0gxRedtvKK10HiXSVWPPJvEq iwWQ== X-Gm-Message-State: AFeK/H3q2NwB6FUzjkvZ/+X73WAlr/7Hj04dXGUdn/InKIxgm3JS6cRhhkluS2ueFTlzYNsf X-Received: by 10.98.86.71 with SMTP id k68mr27286726pfb.215.1491388416510; Wed, 05 Apr 2017 03:33:36 -0700 (PDT) Received: from localhost.localdomain ([106.51.240.246]) by smtp.gmail.com with ESMTPSA id a62sm36732075pgc.60.2017.04.05.03.33.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 05 Apr 2017 03:33:35 -0700 (PDT) From: Amit Pundir To: stable@vger.kernel.org Cc: gregkh@linuxfoundation.org, Stanislaw Gruszka , Vishal Thanki , Kalle Valo Subject: [PATCH v2 for-4.9 32/32] rt2x00: avoid introducing a USB dependency in the rt2x00lib module Date: Wed, 5 Apr 2017 16:02:24 +0530 Message-Id: <1491388344-13521-33-git-send-email-amit.pundir@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1491388344-13521-1-git-send-email-amit.pundir@linaro.org> References: <1491388344-13521-1-git-send-email-amit.pundir@linaro.org> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Stanislaw Gruszka As reported by Felix: Though protected by an ifdef, introducing an usb symbol dependency in the rt2x00lib module is a major inconvenience for distributions that package kernel modules split into individual packages. Get rid of this unnecessary dependency by calling the usb related function from a more suitable place. Cc: Vishal Thanki Reported-by: Felix Fietkau Fixes: 8b4c0009313f ("rt2x00usb: Use usb anchor to manage URB") Signed-off-by: Stanislaw Gruszka Signed-off-by: Kalle Valo (cherry picked from commit 6232c17438ed01f43665197db5a98a4a4f77ef47) Signed-off-by: Amit Pundir --- drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 23 ++++++++--------------- drivers/net/wireless/ralink/rt2x00/rt2x00usb.c | 5 +++++ 2 files changed, 13 insertions(+), 15 deletions(-) -- 2.7.4 diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c index b7273be..c8d9075 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c @@ -1422,21 +1422,6 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev) cancel_work_sync(&rt2x00dev->intf_work); cancel_delayed_work_sync(&rt2x00dev->autowakeup_work); cancel_work_sync(&rt2x00dev->sleep_work); -#if IS_ENABLED(CONFIG_RT2X00_LIB_USB) - if (rt2x00_is_usb(rt2x00dev)) { - usb_kill_anchored_urbs(rt2x00dev->anchor); - hrtimer_cancel(&rt2x00dev->txstatus_timer); - cancel_work_sync(&rt2x00dev->rxdone_work); - cancel_work_sync(&rt2x00dev->txdone_work); - } -#endif - if (rt2x00dev->workqueue) - destroy_workqueue(rt2x00dev->workqueue); - - /* - * Free the tx status fifo. - */ - kfifo_free(&rt2x00dev->txstatus_fifo); /* * Kill the tx status tasklet. @@ -1452,6 +1437,14 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev) */ rt2x00lib_uninitialize(rt2x00dev); + if (rt2x00dev->workqueue) + destroy_workqueue(rt2x00dev->workqueue); + + /* + * Free the tx status fifo. + */ + kfifo_free(&rt2x00dev->txstatus_fifo); + /* * Free extra components */ diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c b/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c index 662705e..631df69 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c @@ -740,6 +740,11 @@ void rt2x00usb_uninitialize(struct rt2x00_dev *rt2x00dev) { struct data_queue *queue; + usb_kill_anchored_urbs(rt2x00dev->anchor); + hrtimer_cancel(&rt2x00dev->txstatus_timer); + cancel_work_sync(&rt2x00dev->rxdone_work); + cancel_work_sync(&rt2x00dev->txdone_work); + queue_for_each(rt2x00dev, queue) rt2x00usb_free_entries(queue); }