diff options
author | Jussi Kivilinna <jussi.kivilinna@mbnet.fi> | 2008-01-25 17:51:01 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-31 22:26:55 -0500 |
commit | a842edaca3985698b177e61115aee91bdf893f1d (patch) | |
tree | d5c50a044c715e3b9384757e1182aff7f59c8056 /drivers/net/usb/rndis_host.c | |
parent | 9ff55874fea71f483581f48990658d3929adb034 (diff) |
rndis_host: Fix rndis packet filter flags.
RNDIS packet filter flags are not exactly the same as CDC flags
so we cannot reuse them.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: Bjorge Dijkstra <bjd@jooz.net>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/rndis_host.c')
-rw-r--r-- | drivers/net/usb/rndis_host.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c index c6860250521b..12daf9cfb77b 100644 --- a/drivers/net/usb/rndis_host.c +++ b/drivers/net/usb/rndis_host.c | |||
@@ -256,6 +256,27 @@ struct rndis_keepalive_c { /* IN (optionally OUT) */ | |||
256 | #define OID_GEN_MAXIMUM_FRAME_SIZE ccpu2(0x00010106) | 256 | #define OID_GEN_MAXIMUM_FRAME_SIZE ccpu2(0x00010106) |
257 | #define OID_GEN_CURRENT_PACKET_FILTER ccpu2(0x0001010e) | 257 | #define OID_GEN_CURRENT_PACKET_FILTER ccpu2(0x0001010e) |
258 | 258 | ||
259 | /* packet filter bits used by OID_GEN_CURRENT_PACKET_FILTER */ | ||
260 | #define RNDIS_PACKET_TYPE_DIRECTED ccpu2(0x00000001) | ||
261 | #define RNDIS_PACKET_TYPE_MULTICAST ccpu2(0x00000002) | ||
262 | #define RNDIS_PACKET_TYPE_ALL_MULTICAST ccpu2(0x00000004) | ||
263 | #define RNDIS_PACKET_TYPE_BROADCAST ccpu2(0x00000008) | ||
264 | #define RNDIS_PACKET_TYPE_SOURCE_ROUTING ccpu2(0x00000010) | ||
265 | #define RNDIS_PACKET_TYPE_PROMISCUOUS ccpu2(0x00000020) | ||
266 | #define RNDIS_PACKET_TYPE_SMT ccpu2(0x00000040) | ||
267 | #define RNDIS_PACKET_TYPE_ALL_LOCAL ccpu2(0x00000080) | ||
268 | #define RNDIS_PACKET_TYPE_GROUP ccpu2(0x00001000) | ||
269 | #define RNDIS_PACKET_TYPE_ALL_FUNCTIONAL ccpu2(0x00002000) | ||
270 | #define RNDIS_PACKET_TYPE_FUNCTIONAL ccpu2(0x00004000) | ||
271 | #define RNDIS_PACKET_TYPE_MAC_FRAME ccpu2(0x00008000) | ||
272 | |||
273 | /* default filter used with RNDIS devices */ | ||
274 | #define RNDIS_DEFAULT_FILTER ( \ | ||
275 | RNDIS_PACKET_TYPE_DIRECTED | \ | ||
276 | RNDIS_PACKET_TYPE_BROADCAST | \ | ||
277 | RNDIS_PACKET_TYPE_ALL_MULTICAST | \ | ||
278 | RNDIS_PACKET_TYPE_PROMISCUOUS) | ||
279 | |||
259 | /* | 280 | /* |
260 | * RNDIS notifications from device: command completion; "reverse" | 281 | * RNDIS notifications from device: command completion; "reverse" |
261 | * keepalives; etc | 282 | * keepalives; etc |
@@ -551,7 +572,7 @@ static int rndis_bind(struct usbnet *dev, struct usb_interface *intf) | |||
551 | u.set->oid = OID_GEN_CURRENT_PACKET_FILTER; | 572 | u.set->oid = OID_GEN_CURRENT_PACKET_FILTER; |
552 | u.set->len = ccpu2(4); | 573 | u.set->len = ccpu2(4); |
553 | u.set->offset = ccpu2((sizeof *u.set) - 8); | 574 | u.set->offset = ccpu2((sizeof *u.set) - 8); |
554 | *(__le32 *)(u.buf + sizeof *u.set) = ccpu2(DEFAULT_FILTER); | 575 | *(__le32 *)(u.buf + sizeof *u.set) = RNDIS_DEFAULT_FILTER; |
555 | 576 | ||
556 | retval = rndis_command(dev, u.header); | 577 | retval = rndis_command(dev, u.header); |
557 | if (unlikely(retval < 0)) { | 578 | if (unlikely(retval < 0)) { |