net: cdc_ncm: remove redundant "disconnected" flag

Calling netif_carrier_{on,off} is sufficient.  There is no need
to duplicate the carrier state in a driver specific flag.

Acked-by: Enrico Mioso <mrkiko.rs@gmail.com>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Bjørn Mork 2014-05-16 21:48:28 +02:00 committed by David S. Miller
parent 916f76405f
commit fa83dbeee5
3 changed files with 2 additions and 31 deletions

View File

@ -1364,11 +1364,10 @@ static void cdc_ncm_status(struct usbnet *dev, struct urb *urb)
* USB_CDC_NOTIFY_NETWORK_CONNECTION notification shall be * USB_CDC_NOTIFY_NETWORK_CONNECTION notification shall be
* sent by device after USB_CDC_NOTIFY_SPEED_CHANGE. * sent by device after USB_CDC_NOTIFY_SPEED_CHANGE.
*/ */
ctx->connected = le16_to_cpu(event->wValue);
netif_info(dev, link, dev->net, netif_info(dev, link, dev->net,
"network connection: %sconnected\n", "network connection: %sconnected\n",
ctx->connected ? "" : "dis"); !!event->wValue ? "" : "dis");
usbnet_link_change(dev, ctx->connected, 0); usbnet_link_change(dev, !!event->wValue, 0);
break; break;
case USB_CDC_NOTIFY_SPEED_CHANGE: case USB_CDC_NOTIFY_SPEED_CHANGE:
@ -1388,23 +1387,11 @@ static void cdc_ncm_status(struct usbnet *dev, struct urb *urb)
} }
} }
static int cdc_ncm_check_connect(struct usbnet *dev)
{
struct cdc_ncm_ctx *ctx;
ctx = (struct cdc_ncm_ctx *)dev->data[0];
if (ctx == NULL)
return 1; /* disconnected */
return !ctx->connected;
}
static const struct driver_info cdc_ncm_info = { static const struct driver_info cdc_ncm_info = {
.description = "CDC NCM", .description = "CDC NCM",
.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET, .flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET,
.bind = cdc_ncm_bind, .bind = cdc_ncm_bind,
.unbind = cdc_ncm_unbind, .unbind = cdc_ncm_unbind,
.check_connect = cdc_ncm_check_connect,
.manage_power = usbnet_manage_power, .manage_power = usbnet_manage_power,
.status = cdc_ncm_status, .status = cdc_ncm_status,
.rx_fixup = cdc_ncm_rx_fixup, .rx_fixup = cdc_ncm_rx_fixup,
@ -1418,7 +1405,6 @@ static const struct driver_info wwan_info = {
| FLAG_WWAN, | FLAG_WWAN,
.bind = cdc_ncm_bind, .bind = cdc_ncm_bind,
.unbind = cdc_ncm_unbind, .unbind = cdc_ncm_unbind,
.check_connect = cdc_ncm_check_connect,
.manage_power = usbnet_manage_power, .manage_power = usbnet_manage_power,
.status = cdc_ncm_status, .status = cdc_ncm_status,
.rx_fixup = cdc_ncm_rx_fixup, .rx_fixup = cdc_ncm_rx_fixup,
@ -1432,7 +1418,6 @@ static const struct driver_info wwan_noarp_info = {
| FLAG_WWAN | FLAG_NOARP, | FLAG_WWAN | FLAG_NOARP,
.bind = cdc_ncm_bind, .bind = cdc_ncm_bind,
.unbind = cdc_ncm_unbind, .unbind = cdc_ncm_unbind,
.check_connect = cdc_ncm_check_connect,
.manage_power = usbnet_manage_power, .manage_power = usbnet_manage_power,
.status = cdc_ncm_status, .status = cdc_ncm_status,
.rx_fixup = cdc_ncm_rx_fixup, .rx_fixup = cdc_ncm_rx_fixup,

View File

@ -172,24 +172,11 @@ static int huawei_cdc_ncm_resume(struct usb_interface *intf)
return ret; return ret;
} }
static int huawei_cdc_ncm_check_connect(struct usbnet *usbnet_dev)
{
struct cdc_ncm_ctx *ctx;
ctx = (struct cdc_ncm_ctx *)usbnet_dev->data[0];
if (ctx == NULL)
return 1; /* disconnected */
return !ctx->connected;
}
static const struct driver_info huawei_cdc_ncm_info = { static const struct driver_info huawei_cdc_ncm_info = {
.description = "Huawei CDC NCM device", .description = "Huawei CDC NCM device",
.flags = FLAG_NO_SETINT | FLAG_MULTI_PACKET | FLAG_WWAN, .flags = FLAG_NO_SETINT | FLAG_MULTI_PACKET | FLAG_WWAN,
.bind = huawei_cdc_ncm_bind, .bind = huawei_cdc_ncm_bind,
.unbind = huawei_cdc_ncm_unbind, .unbind = huawei_cdc_ncm_unbind,
.check_connect = huawei_cdc_ncm_check_connect,
.manage_power = huawei_cdc_ncm_manage_power, .manage_power = huawei_cdc_ncm_manage_power,
.rx_fixup = cdc_ncm_rx_fixup, .rx_fixup = cdc_ncm_rx_fixup,
.tx_fixup = cdc_ncm_tx_fixup, .tx_fixup = cdc_ncm_tx_fixup,

View File

@ -118,7 +118,6 @@ struct cdc_ncm_ctx {
u16 tx_ndp_modulus; u16 tx_ndp_modulus;
u16 tx_seq; u16 tx_seq;
u16 rx_seq; u16 rx_seq;
u16 connected;
u16 min_tx_pkt; u16 min_tx_pkt;
/* statistics */ /* statistics */