diff options
Diffstat (limited to 'drivers/net/usb/qmi_wwan.c')
| -rw-r--r-- | drivers/net/usb/qmi_wwan.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c index 8f923a147fa9..5894e3c9468f 100644 --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c @@ -101,7 +101,7 @@ static netdev_tx_t qmimux_start_xmit(struct sk_buff *skb, struct net_device *dev  	unsigned int len = skb->len;  	struct qmimux_hdr *hdr; -	hdr = (struct qmimux_hdr *)skb_push(skb, sizeof(struct qmimux_hdr)); +	hdr = skb_push(skb, sizeof(struct qmimux_hdr));  	hdr->pad = 0;  	hdr->mux_id = priv->mux_id;  	hdr->pkt_len = cpu_to_be16(len); @@ -123,7 +123,7 @@ static void qmimux_setup(struct net_device *dev)  	dev->addr_len        = 0;  	dev->flags           = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST;  	dev->netdev_ops      = &qmimux_netdev_ops; -	dev->destructor      = free_netdev; +	dev->needs_free_netdev = true;  }  static struct net_device *qmimux_find_dev(struct usbnet *dev, u8 mux_id) @@ -188,7 +188,7 @@ static int qmimux_rx_fixup(struct usbnet *dev, struct sk_buff *skb)  			goto skip;  		} -		memcpy(skb_put(skbn, len), skb->data + offset, len); +		skb_put_data(skbn, skb->data + offset, len);  		if (netif_rx(skbn) != NET_RX_SUCCESS)  			return 0; @@ -1192,6 +1192,8 @@ static const struct usb_device_id products[] = {  	{QMI_FIXED_INTF(0x1199, 0x9056, 8)},	/* Sierra Wireless Modem */  	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},  	{QMI_FIXED_INTF(0x1199, 0x9061, 8)},	/* Sierra Wireless Modem */ +	{QMI_FIXED_INTF(0x1199, 0x9063, 8)},	/* Sierra Wireless EM7305 */ +	{QMI_FIXED_INTF(0x1199, 0x9063, 10)},	/* Sierra Wireless EM7305 */  	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx */  	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx */  	{QMI_FIXED_INTF(0x1199, 0x9079, 8)},	/* Sierra Wireless EM74xx */ @@ -1206,6 +1208,8 @@ static const struct usb_device_id products[] = {  	{QMI_FIXED_INTF(0x1bc7, 0x1100, 3)},	/* Telit ME910 */  	{QMI_FIXED_INTF(0x1bc7, 0x1200, 5)},	/* Telit LE920 */  	{QMI_QUIRK_SET_DTR(0x1bc7, 0x1201, 2)},	/* Telit LE920, LE920A4 */ +	{QMI_FIXED_INTF(0x1c9e, 0x9801, 3)},	/* Telewell TW-3G HSPA+ */ +	{QMI_FIXED_INTF(0x1c9e, 0x9803, 4)},	/* Telewell TW-3G HSPA+ */  	{QMI_FIXED_INTF(0x1c9e, 0x9b01, 3)},	/* XS Stick W100-2 from 4G Systems */  	{QMI_FIXED_INTF(0x0b3c, 0xc000, 4)},	/* Olivetti Olicard 100 */  	{QMI_FIXED_INTF(0x0b3c, 0xc001, 4)},	/* Olivetti Olicard 120 */ | 
