aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/usb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/usb')
-rw-r--r--drivers/net/usb/rndis_host.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c
index b7f763e1298c..1bf243ef950e 100644
--- a/drivers/net/usb/rndis_host.c
+++ b/drivers/net/usb/rndis_host.c
@@ -266,6 +266,16 @@ response_error:
266 return -EDOM; 266 return -EDOM;
267} 267}
268 268
269/* same as usbnet_netdev_ops but MTU change not allowed */
270static const struct net_device_ops rndis_netdev_ops = {
271 .ndo_open = usbnet_open,
272 .ndo_stop = usbnet_stop,
273 .ndo_start_xmit = usbnet_start_xmit,
274 .ndo_tx_timeout = usbnet_tx_timeout,
275 .ndo_set_mac_address = eth_mac_addr,
276 .ndo_validate_addr = eth_validate_addr,
277};
278
269int 279int
270generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags) 280generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags)
271{ 281{
@@ -327,7 +337,8 @@ generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags)
327 dev->rx_urb_size &= ~(dev->maxpacket - 1); 337 dev->rx_urb_size &= ~(dev->maxpacket - 1);
328 u.init->max_transfer_size = cpu_to_le32(dev->rx_urb_size); 338 u.init->max_transfer_size = cpu_to_le32(dev->rx_urb_size);
329 339
330 net->change_mtu = NULL; 340 net->netdev_ops = &rndis_netdev_ops;
341
331 retval = rndis_command(dev, u.header, CONTROL_BUFFER_SIZE); 342 retval = rndis_command(dev, u.header, CONTROL_BUFFER_SIZE);
332 if (unlikely(retval < 0)) { 343 if (unlikely(retval < 0)) {
333 /* it might not even be an RNDIS device!! */ 344 /* it might not even be an RNDIS device!! */