From patchwork Thu Jul 30 16:41:42 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jussi Kivilinna X-Patchwork-Id: 38359 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n6UGpPd1017585 for ; Thu, 30 Jul 2009 16:51:26 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751865AbZG3QvX (ORCPT ); Thu, 30 Jul 2009 12:51:23 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751857AbZG3QvX (ORCPT ); Thu, 30 Jul 2009 12:51:23 -0400 Received: from sirokuusama.dnainternet.net ([83.102.40.133]:43817 "EHLO sirokuusama.dnainternet.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751505AbZG3QvX (ORCPT ); Thu, 30 Jul 2009 12:51:23 -0400 Received: from localhost (localhost [127.0.0.1]) by sirokuusama.dnainternet.net (Postfix) with ESMTP id E75BE2D4AB; Thu, 30 Jul 2009 19:41:42 +0300 (EEST) X-Virus-Scanned: Debian amavisd-new at !change-mydomain-variable!.example.com X-Spam-Flag: NO X-Spam-Score: -2.312 X-Spam-Level: X-Spam-Status: No, score=-2.312 tagged_above=-9999 required=7 tests=[BAYES_00=-2.312] Received: from sirokuusama.dnainternet.net ([83.102.40.133]) by localhost (sirokuusama.dnainternet.net [127.0.0.1]) (amavisd-new, port 10041) with ESMTP id cCjZ7YNk+cfA; Thu, 30 Jul 2009 19:41:42 +0300 (EEST) Received: from omenapuu.dnainternet.net (omenapuu.dnainternet.net [83.102.40.212]) by sirokuusama.dnainternet.net (Postfix) with ESMTP id 6A2B52D4A2; Thu, 30 Jul 2009 19:41:42 +0300 (EEST) Received: from fate.lan (dyn2-85-23-163-166.psoas.suomi.net [85.23.163.166]) by omenapuu.dnainternet.net (Postfix) with ESMTP id 567F22BAEE; Thu, 30 Jul 2009 19:41:42 +0300 (EEST) From: Jussi Kivilinna Subject: [PATCH 05/10] rndis_wlan: set current packet filter to zero on stop To: linux-wireless@vger.kernel.org Cc: linville@tuxdriver.com, Jussi Kivilinna Date: Thu, 30 Jul 2009 19:41:42 +0300 Message-ID: <20090730164142.28317.41617.stgit@fate.lan> In-Reply-To: <20090730164120.28317.53313.stgit@fate.lan> References: <20090730164120.28317.53313.stgit@fate.lan> User-Agent: StGIT/0.14.2 MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Set current packet filter to zero to block receiving data packets from device. Signed-off-by: Jussi Kivilinna --- drivers/net/wireless/rndis_wlan.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index bfb9861..974f724 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c @@ -2530,7 +2530,8 @@ static int rndis_wlan_reset(struct usbnet *usbdev) if (retval) devwarn(usbdev, "rndis_reset() failed: %d", retval); - /* rndis_reset cleared multicast list, so restore here. */ + /* rndis_reset cleared multicast list, so restore here. + (set_multicast_list() also turns on current packet filter) */ set_multicast_list(usbdev); queue_delayed_work(priv->workqueue, &priv->stats_work, @@ -2544,6 +2545,7 @@ static int rndis_wlan_stop(struct usbnet *usbdev) { struct rndis_wlan_private *priv = get_rndis_wlan_priv(usbdev); int retval; + __le32 filter; devdbg(usbdev, "rndis_wlan_stop"); @@ -2560,6 +2562,12 @@ static int rndis_wlan_stop(struct usbnet *usbdev) priv->scan_request = NULL; } + /* Set current packet filter zero to block receiving data packets from + device. */ + filter = 0; + rndis_set_oid(usbdev, OID_GEN_CURRENT_PACKET_FILTER, &filter, + sizeof(filter)); + return retval; }