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[] = { |