Loading drivers/net/usb/int51x1.c +3 −49 Original line number Diff line number Diff line Loading @@ -116,23 +116,8 @@ static struct sk_buff *int51x1_tx_fixup(struct usbnet *dev, return skb; } static void int51x1_async_cmd_callback(struct urb *urb) { struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context; int status = urb->status; if (status < 0) dev_warn(&urb->dev->dev, "async callback failed with %d\n", status); kfree(req); usb_free_urb(urb); } static void int51x1_set_multicast(struct net_device *netdev) { struct usb_ctrlrequest *req; int status; struct urb *urb; struct usbnet *dev = netdev_priv(netdev); u16 filter = PACKET_TYPE_DIRECTED | PACKET_TYPE_BROADCAST; Loading @@ -149,40 +134,9 @@ static void int51x1_set_multicast(struct net_device *netdev) netdev_dbg(dev->net, "receive own packets only\n"); } urb = usb_alloc_urb(0, GFP_ATOMIC); if (!urb) { netdev_warn(dev->net, "Error allocating URB\n"); return; } req = kmalloc(sizeof(*req), GFP_ATOMIC); if (!req) { netdev_warn(dev->net, "Error allocating control msg\n"); goto out; } req->bRequestType = USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE; req->bRequest = SET_ETHERNET_PACKET_FILTER; req->wValue = cpu_to_le16(filter); req->wIndex = 0; req->wLength = 0; usb_fill_control_urb(urb, dev->udev, usb_sndctrlpipe(dev->udev, 0), (void *)req, NULL, 0, int51x1_async_cmd_callback, (void *)req); status = usb_submit_urb(urb, GFP_ATOMIC); if (status < 0) { netdev_warn(dev->net, "Error submitting control msg, sts=%d\n", status); goto out1; } return; out1: kfree(req); out: usb_free_urb(urb); usbnet_write_cmd_async(dev, SET_ETHERNET_PACKET_FILTER, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, filter, 0, NULL, 0); } static const struct net_device_ops int51x1_netdev_ops = { Loading Loading
drivers/net/usb/int51x1.c +3 −49 Original line number Diff line number Diff line Loading @@ -116,23 +116,8 @@ static struct sk_buff *int51x1_tx_fixup(struct usbnet *dev, return skb; } static void int51x1_async_cmd_callback(struct urb *urb) { struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context; int status = urb->status; if (status < 0) dev_warn(&urb->dev->dev, "async callback failed with %d\n", status); kfree(req); usb_free_urb(urb); } static void int51x1_set_multicast(struct net_device *netdev) { struct usb_ctrlrequest *req; int status; struct urb *urb; struct usbnet *dev = netdev_priv(netdev); u16 filter = PACKET_TYPE_DIRECTED | PACKET_TYPE_BROADCAST; Loading @@ -149,40 +134,9 @@ static void int51x1_set_multicast(struct net_device *netdev) netdev_dbg(dev->net, "receive own packets only\n"); } urb = usb_alloc_urb(0, GFP_ATOMIC); if (!urb) { netdev_warn(dev->net, "Error allocating URB\n"); return; } req = kmalloc(sizeof(*req), GFP_ATOMIC); if (!req) { netdev_warn(dev->net, "Error allocating control msg\n"); goto out; } req->bRequestType = USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE; req->bRequest = SET_ETHERNET_PACKET_FILTER; req->wValue = cpu_to_le16(filter); req->wIndex = 0; req->wLength = 0; usb_fill_control_urb(urb, dev->udev, usb_sndctrlpipe(dev->udev, 0), (void *)req, NULL, 0, int51x1_async_cmd_callback, (void *)req); status = usb_submit_urb(urb, GFP_ATOMIC); if (status < 0) { netdev_warn(dev->net, "Error submitting control msg, sts=%d\n", status); goto out1; } return; out1: kfree(req); out: usb_free_urb(urb); usbnet_write_cmd_async(dev, SET_ETHERNET_PACKET_FILTER, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, filter, 0, NULL, 0); } static const struct net_device_ops int51x1_netdev_ops = { Loading