Skip to content

Commit

Permalink
rndis_wlan: set current packet filter to zero on stop
Browse files Browse the repository at this point in the history
Set current packet filter to zero to block receiving data packets from
device.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Jussi Kivilinna authored and John W. Linville committed Aug 4, 2009
1 parent 7eaab70 commit e5a11a8
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion drivers/net/wireless/rndis_wlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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");

Expand All @@ -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;
}

Expand Down

0 comments on commit e5a11a8

Please sign in to comment.