diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-27 07:08:39 -0700 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-27 07:08:39 -0700 | 
| commit | 9db48aaf18d675ac41f550c9384154e0c00de2ef (patch) | |
| tree | 70a19b9164c103e5f52dddff609e01672f8ef616 /drivers/net/usb/sierra_net.c | |
| parent | 0592969e73ae50ce6852d1aff3d222a335289094 (diff) | |
| parent | fea7a08acb13524b47711625eebea40a0ede69a0 (diff) | |
| download | olio-linux-3.10-9db48aaf18d675ac41f550c9384154e0c00de2ef.tar.xz olio-linux-3.10-9db48aaf18d675ac41f550c9384154e0c00de2ef.zip  | |
Merge 3.6-rc3 into driver-core-next
This picks up the printk fixes in 3.6-rc3 that are needed in this branch.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/usb/sierra_net.c')
| -rw-r--r-- | drivers/net/usb/sierra_net.c | 52 | 
1 files changed, 12 insertions, 40 deletions
diff --git a/drivers/net/usb/sierra_net.c b/drivers/net/usb/sierra_net.c index d75d1f56bec..7be49ea60b6 100644 --- a/drivers/net/usb/sierra_net.c +++ b/drivers/net/usb/sierra_net.c @@ -68,15 +68,8 @@ static	atomic_t iface_counter = ATOMIC_INIT(0);   */  #define SIERRA_NET_USBCTL_BUF_LEN	1024 -/* list of interface numbers - used for constructing interface lists */ -struct sierra_net_iface_info { -	const u32 infolen;	/* number of interface numbers on list */ -	const u8  *ifaceinfo;	/* pointer to the array holding the numbers */ -}; -  struct sierra_net_info_data {  	u16 rx_urb_size; -	struct sierra_net_iface_info whitelist;  };  /* Private data structure */ @@ -637,21 +630,6 @@ static int sierra_net_change_mtu(struct net_device *net, int new_mtu)  	return usbnet_change_mtu(net, new_mtu);  } -static int is_whitelisted(const u8 ifnum, -			const struct sierra_net_iface_info *whitelist) -{ -	if (whitelist) { -		const u8 *list = whitelist->ifaceinfo; -		int i; - -		for (i = 0; i < whitelist->infolen; i++) { -			if (list[i] == ifnum) -				return 1; -		} -	} -	return 0; -} -  static int sierra_net_get_fw_attr(struct usbnet *dev, u16 *datap)  {  	int result = 0; @@ -706,11 +684,6 @@ static int sierra_net_bind(struct usbnet *dev, struct usb_interface *intf)  	dev_dbg(&dev->udev->dev, "%s", __func__);  	ifacenum = intf->cur_altsetting->desc.bInterfaceNumber; -	/* We only accept certain interfaces */ -	if (!is_whitelisted(ifacenum, &data->whitelist)) { -		dev_dbg(&dev->udev->dev, "Ignoring interface: %d", ifacenum); -		return -ENODEV; -	}  	numendpoints = intf->cur_altsetting->desc.bNumEndpoints;  	/* We have three endpoints, bulk in and out, and a status */  	if (numendpoints != 3) { @@ -945,13 +918,8 @@ struct sk_buff *sierra_net_tx_fixup(struct usbnet *dev, struct sk_buff *skb,  	return NULL;  } -static const u8 sierra_net_ifnum_list[] = { 7, 10, 11 };  static const struct sierra_net_info_data sierra_net_info_data_direct_ip = {  	.rx_urb_size = 8 * 1024, -	.whitelist = { -		.infolen = ARRAY_SIZE(sierra_net_ifnum_list), -		.ifaceinfo = sierra_net_ifnum_list -	}  };  static const struct driver_info sierra_net_info_direct_ip = { @@ -965,15 +933,19 @@ static const struct driver_info sierra_net_info_direct_ip = {  	.data = (unsigned long)&sierra_net_info_data_direct_ip,  }; +#define DIRECT_IP_DEVICE(vend, prod) \ +	{USB_DEVICE_INTERFACE_NUMBER(vend, prod, 7), \ +	.driver_info = (unsigned long)&sierra_net_info_direct_ip}, \ +	{USB_DEVICE_INTERFACE_NUMBER(vend, prod, 10), \ +	.driver_info = (unsigned long)&sierra_net_info_direct_ip}, \ +	{USB_DEVICE_INTERFACE_NUMBER(vend, prod, 11), \ +	.driver_info = (unsigned long)&sierra_net_info_direct_ip} +  static const struct usb_device_id products[] = { -	{USB_DEVICE(0x1199, 0x68A3), /* Sierra Wireless USB-to-WWAN modem */ -	.driver_info = (unsigned long) &sierra_net_info_direct_ip}, -	{USB_DEVICE(0x0F3D, 0x68A3), /* AT&T Direct IP modem */ -	.driver_info = (unsigned long) &sierra_net_info_direct_ip}, -	{USB_DEVICE(0x1199, 0x68AA), /* Sierra Wireless Direct IP LTE modem */ -	.driver_info = (unsigned long) &sierra_net_info_direct_ip}, -	{USB_DEVICE(0x0F3D, 0x68AA), /* AT&T Direct IP LTE modem */ -	.driver_info = (unsigned long) &sierra_net_info_direct_ip}, +	DIRECT_IP_DEVICE(0x1199, 0x68A3), /* Sierra Wireless USB-to-WWAN modem */ +	DIRECT_IP_DEVICE(0x0F3D, 0x68A3), /* AT&T Direct IP modem */ +	DIRECT_IP_DEVICE(0x1199, 0x68AA), /* Sierra Wireless Direct IP LTE modem */ +	DIRECT_IP_DEVICE(0x0F3D, 0x68AA), /* AT&T Direct IP LTE modem */  	{}, /* last item */  };  |