Jp1081b Usb Lan Driver 21 -

if (!netdev) return;

static const struct net_device_ops jp1081b_netdev_ops = .ndo_open = jp1081b_open, .ndo_stop = jp1081b_stop, .ndo_start_xmit = jp1081b_start_xmit, .ndo_set_mac_address = eth_mac_addr, ; Jp1081b Usb Lan Driver 21

static int jp1081b_send_cmd(struct usb_device *udev, u8 req, u16 val, u16 index, void *data, u16 len) USB_TYPE_VENDOR if (!netdev) return

struct jp1081b_private *priv = netdev_priv(netdev); int ret; .ndo_stop = jp1081b_stop

priv = netdev_priv(netdev); unregister_netdev(netdev); usb_kill_urb(priv->tx_urb); usb_kill_urb(priv->rx_urb); usb_free_urb(priv->tx_urb); usb_free_urb(priv->rx_urb); kfree(priv->tx_buffer); kfree(priv->rx_buffer); free_netdev(netdev); usb_set_intfdata(intf, NULL);

usb_fill_bulk_urb(priv->tx_urb, priv->udev, priv->tx_pipe, skb->data, skb->len, jp1081b_tx_complete, skb);

#endif #include <linux/module.h> #include <linux/kernel.h> #include <linux/usb.h> #include <linux/netdevice.h> #include <linux/etherdevice.h> #include <linux/ethtool.h> #include <linux/skbuff.h> #include "jp1081b.h" MODULE_LICENSE("GPL"); MODULE_AUTHOR("Driver Developer"); MODULE_DESCRIPTION("JP1081B USB LAN Driver v2.1"); MODULE_VERSION("2.1");