View | Details | Raw Unified | Return to bug 217290 | Differences between
and this patch

Collapse All | Expand All

(-)a/drivers/net/usb/cdc_ncm.c (-4 / +16 lines)
Lines 890-895 int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_ Link Here
890
		}
890
		}
891
	}
891
	}
892
892
893
	if (ctx->func_desc)
894
		ctx->filtering_supported = ctx->func_desc->bmNetworkCapabilities
895
			& USB_CDC_NCM_NCAP_ETH_FILTER;
896
893
	iface_no = ctx->data->cur_altsetting->desc.bInterfaceNumber;
897
	iface_no = ctx->data->cur_altsetting->desc.bInterfaceNumber;
894
898
895
	/* Device-specific flags */
899
	/* Device-specific flags */
Lines 1892-1897 static void cdc_ncm_status(struct usbnet *dev, struct urb *urb) Link Here
1892
	}
1896
	}
1893
}
1897
}
1894
1898
1899
static void cdc_ncm_update_filter(struct usbnet *dev)
1900
{
1901
	struct cdc_ncm_ctx *ctx = (struct cdc_ncm_ctx *)dev->data[0];
1902
1903
	if (ctx->filtering_supported)
1904
		usbnet_cdc_update_filter(dev);
1905
}
1906
1895
static const struct driver_info cdc_ncm_info = {
1907
static const struct driver_info cdc_ncm_info = {
1896
	.description = "CDC NCM (NO ZLP)",
1908
	.description = "CDC NCM (NO ZLP)",
1897
	.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET
1909
	.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET
Lines 1902-1908 static const struct driver_info cdc_ncm_info = { Link Here
1902
	.status = cdc_ncm_status,
1914
	.status = cdc_ncm_status,
1903
	.rx_fixup = cdc_ncm_rx_fixup,
1915
	.rx_fixup = cdc_ncm_rx_fixup,
1904
	.tx_fixup = cdc_ncm_tx_fixup,
1916
	.tx_fixup = cdc_ncm_tx_fixup,
1905
	.set_rx_mode = usbnet_cdc_update_filter,
1917
	.set_rx_mode = cdc_ncm_update_filter,
1906
};
1918
};
1907
1919
1908
/* Same as cdc_ncm_info, but with FLAG_SEND_ZLP  */
1920
/* Same as cdc_ncm_info, but with FLAG_SEND_ZLP  */
Lines 1916-1922 static const struct driver_info cdc_ncm_zlp_info = { Link Here
1916
	.status = cdc_ncm_status,
1928
	.status = cdc_ncm_status,
1917
	.rx_fixup = cdc_ncm_rx_fixup,
1929
	.rx_fixup = cdc_ncm_rx_fixup,
1918
	.tx_fixup = cdc_ncm_tx_fixup,
1930
	.tx_fixup = cdc_ncm_tx_fixup,
1919
	.set_rx_mode = usbnet_cdc_update_filter,
1931
	.set_rx_mode = cdc_ncm_update_filter,
1920
};
1932
};
1921
1933
1922
/* Same as cdc_ncm_info, but with FLAG_WWAN */
1934
/* Same as cdc_ncm_info, but with FLAG_WWAN */
Lines 1930-1936 static const struct driver_info wwan_info = { Link Here
1930
	.status = cdc_ncm_status,
1942
	.status = cdc_ncm_status,
1931
	.rx_fixup = cdc_ncm_rx_fixup,
1943
	.rx_fixup = cdc_ncm_rx_fixup,
1932
	.tx_fixup = cdc_ncm_tx_fixup,
1944
	.tx_fixup = cdc_ncm_tx_fixup,
1933
	.set_rx_mode = usbnet_cdc_update_filter,
1945
	.set_rx_mode = cdc_ncm_update_filter,
1934
};
1946
};
1935
1947
1936
/* Same as wwan_info, but with FLAG_NOARP  */
1948
/* Same as wwan_info, but with FLAG_NOARP  */
Lines 1944-1950 static const struct driver_info wwan_noarp_info = { Link Here
1944
	.status = cdc_ncm_status,
1956
	.status = cdc_ncm_status,
1945
	.rx_fixup = cdc_ncm_rx_fixup,
1957
	.rx_fixup = cdc_ncm_rx_fixup,
1946
	.tx_fixup = cdc_ncm_tx_fixup,
1958
	.tx_fixup = cdc_ncm_tx_fixup,
1947
	.set_rx_mode = usbnet_cdc_update_filter,
1959
	.set_rx_mode = cdc_ncm_update_filter,
1948
};
1960
};
1949
1961
1950
static const struct usb_device_id cdc_devs[] = {
1962
static const struct usb_device_id cdc_devs[] = {
(-)a/include/linux/usb/cdc_ncm.h (-1 / +1 lines)
Lines 119-124 struct cdc_ncm_ctx { Link Here
119
	u32 timer_interval;
119
	u32 timer_interval;
120
	u32 max_ndp_size;
120
	u32 max_ndp_size;
121
	u8 is_ndp16;
121
	u8 is_ndp16;
122
	u8 filtering_supported;
122
	union {
123
	union {
123
		struct usb_cdc_ncm_ndp16 *delayed_ndp16;
124
		struct usb_cdc_ncm_ndp16 *delayed_ndp16;
124
		struct usb_cdc_ncm_ndp32 *delayed_ndp32;
125
		struct usb_cdc_ncm_ndp32 *delayed_ndp32;
125
- 

Return to bug 217290