Loading drivers/net/bonding/bond_main.c +13 −23 Original line number Diff line number Diff line Loading @@ -2211,33 +2211,24 @@ static int bond_slave_info_query(struct net_device *bond_dev, struct ifslave *in { struct bonding *bond = netdev_priv(bond_dev); struct slave *slave; int i, found = 0; if (info->slave_id < 0) { return -ENODEV; } int i, res = -ENODEV; read_lock(&bond->lock); bond_for_each_slave(bond, slave, i) { if (i == (int)info->slave_id) { found = 1; break; } } read_unlock(&bond->lock); if (found) { res = 0; strcpy(info->slave_name, slave->dev->name); info->link = slave->link; info->state = slave->state; info->link_failure_count = slave->link_failure_count; } else { return -ENODEV; break; } } return 0; read_unlock(&bond->lock); return res; } /*-------------------------------- Monitoring -------------------------------*/ Loading Loading @@ -5173,16 +5164,15 @@ int bond_create(char *name, struct bond_params *params) up_write(&bonding_rwsem); rtnl_unlock(); /* allows sysfs registration of net device */ res = bond_create_sysfs_entry(netdev_priv(bond_dev)); if (res < 0) { rtnl_lock(); down_write(&bonding_rwsem); bond_deinit(bond_dev); unregister_netdevice(bond_dev); goto out_rtnl; } if (res < 0) goto out_unreg; return 0; out_unreg: rtnl_lock(); down_write(&bonding_rwsem); unregister_netdevice(bond_dev); out_bond: bond_deinit(bond_dev); out_netdev: Loading drivers/net/cxgb3/t3_hw.c +1 −1 Original line number Diff line number Diff line Loading @@ -3784,7 +3784,7 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai, adapter->params.info = ai; adapter->params.nports = ai->nports0 + ai->nports1; adapter->params.chan_map = !!ai->nports0 | (!!ai->nports1 << 1); adapter->params.chan_map = (!!ai->nports0) | (!!ai->nports1 << 1); adapter->params.rev = t3_read_reg(adapter, A_PL_REV); /* * We used to only run the "adapter check task" once a second if Loading drivers/net/netconsole.c +10 −1 Original line number Diff line number Diff line Loading @@ -664,7 +664,7 @@ static int netconsole_netdev_event(struct notifier_block *this, struct netconsole_target *nt; struct net_device *dev = ptr; if (!(event == NETDEV_CHANGENAME)) if (!(event == NETDEV_CHANGENAME || event == NETDEV_UNREGISTER)) goto done; spin_lock_irqsave(&target_list_lock, flags); Loading @@ -675,6 +675,15 @@ static int netconsole_netdev_event(struct notifier_block *this, case NETDEV_CHANGENAME: strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ); break; case NETDEV_UNREGISTER: if (!nt->enabled) break; netpoll_cleanup(&nt->np); nt->enabled = 0; printk(KERN_INFO "netconsole: network logging stopped" ", interface %s unregistered\n", dev->name); break; } } netconsole_target_put(nt); Loading drivers/net/usb/smsc95xx.c +15 −0 Original line number Diff line number Diff line Loading @@ -941,6 +941,16 @@ static int smsc95xx_reset(struct usbnet *dev) if (netif_msg_ifup(dev)) devdbg(dev, "ID_REV = 0x%08x", read_buf); /* Configure GPIO pins as LED outputs */ write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED | LED_GPIO_CFG_FDX_LED; ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf); if (ret < 0) { devwarn(dev, "Failed to write LED_GPIO_CFG register, ret=%d", ret); return ret; } /* Init Tx */ write_buf = 0; ret = smsc95xx_write_reg(dev, FLOW, write_buf); Loading Loading @@ -1231,6 +1241,11 @@ static const struct usb_device_id products[] = { USB_DEVICE(0x0424, 0x9500), .driver_info = (unsigned long) &smsc95xx_info, }, { /* SMSC9512/9514 USB Hub & Ethernet Device */ USB_DEVICE(0x0424, 0xec00), .driver_info = (unsigned long) &smsc95xx_info, }, { }, /* END */ }; MODULE_DEVICE_TABLE(usb, products); Loading drivers/net/usb/smsc95xx.h +3 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,9 @@ #define PM_CTL_WUPS_MULTI_ (0x00000003) #define LED_GPIO_CFG (0x24) #define LED_GPIO_CFG_SPD_LED (0x01000000) #define LED_GPIO_CFG_LNK_LED (0x00100000) #define LED_GPIO_CFG_FDX_LED (0x00010000) #define GPIO_CFG (0x28) Loading Loading
drivers/net/bonding/bond_main.c +13 −23 Original line number Diff line number Diff line Loading @@ -2211,33 +2211,24 @@ static int bond_slave_info_query(struct net_device *bond_dev, struct ifslave *in { struct bonding *bond = netdev_priv(bond_dev); struct slave *slave; int i, found = 0; if (info->slave_id < 0) { return -ENODEV; } int i, res = -ENODEV; read_lock(&bond->lock); bond_for_each_slave(bond, slave, i) { if (i == (int)info->slave_id) { found = 1; break; } } read_unlock(&bond->lock); if (found) { res = 0; strcpy(info->slave_name, slave->dev->name); info->link = slave->link; info->state = slave->state; info->link_failure_count = slave->link_failure_count; } else { return -ENODEV; break; } } return 0; read_unlock(&bond->lock); return res; } /*-------------------------------- Monitoring -------------------------------*/ Loading Loading @@ -5173,16 +5164,15 @@ int bond_create(char *name, struct bond_params *params) up_write(&bonding_rwsem); rtnl_unlock(); /* allows sysfs registration of net device */ res = bond_create_sysfs_entry(netdev_priv(bond_dev)); if (res < 0) { rtnl_lock(); down_write(&bonding_rwsem); bond_deinit(bond_dev); unregister_netdevice(bond_dev); goto out_rtnl; } if (res < 0) goto out_unreg; return 0; out_unreg: rtnl_lock(); down_write(&bonding_rwsem); unregister_netdevice(bond_dev); out_bond: bond_deinit(bond_dev); out_netdev: Loading
drivers/net/cxgb3/t3_hw.c +1 −1 Original line number Diff line number Diff line Loading @@ -3784,7 +3784,7 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai, adapter->params.info = ai; adapter->params.nports = ai->nports0 + ai->nports1; adapter->params.chan_map = !!ai->nports0 | (!!ai->nports1 << 1); adapter->params.chan_map = (!!ai->nports0) | (!!ai->nports1 << 1); adapter->params.rev = t3_read_reg(adapter, A_PL_REV); /* * We used to only run the "adapter check task" once a second if Loading
drivers/net/netconsole.c +10 −1 Original line number Diff line number Diff line Loading @@ -664,7 +664,7 @@ static int netconsole_netdev_event(struct notifier_block *this, struct netconsole_target *nt; struct net_device *dev = ptr; if (!(event == NETDEV_CHANGENAME)) if (!(event == NETDEV_CHANGENAME || event == NETDEV_UNREGISTER)) goto done; spin_lock_irqsave(&target_list_lock, flags); Loading @@ -675,6 +675,15 @@ static int netconsole_netdev_event(struct notifier_block *this, case NETDEV_CHANGENAME: strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ); break; case NETDEV_UNREGISTER: if (!nt->enabled) break; netpoll_cleanup(&nt->np); nt->enabled = 0; printk(KERN_INFO "netconsole: network logging stopped" ", interface %s unregistered\n", dev->name); break; } } netconsole_target_put(nt); Loading
drivers/net/usb/smsc95xx.c +15 −0 Original line number Diff line number Diff line Loading @@ -941,6 +941,16 @@ static int smsc95xx_reset(struct usbnet *dev) if (netif_msg_ifup(dev)) devdbg(dev, "ID_REV = 0x%08x", read_buf); /* Configure GPIO pins as LED outputs */ write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED | LED_GPIO_CFG_FDX_LED; ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf); if (ret < 0) { devwarn(dev, "Failed to write LED_GPIO_CFG register, ret=%d", ret); return ret; } /* Init Tx */ write_buf = 0; ret = smsc95xx_write_reg(dev, FLOW, write_buf); Loading Loading @@ -1231,6 +1241,11 @@ static const struct usb_device_id products[] = { USB_DEVICE(0x0424, 0x9500), .driver_info = (unsigned long) &smsc95xx_info, }, { /* SMSC9512/9514 USB Hub & Ethernet Device */ USB_DEVICE(0x0424, 0xec00), .driver_info = (unsigned long) &smsc95xx_info, }, { }, /* END */ }; MODULE_DEVICE_TABLE(usb, products); Loading
drivers/net/usb/smsc95xx.h +3 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,9 @@ #define PM_CTL_WUPS_MULTI_ (0x00000003) #define LED_GPIO_CFG (0x24) #define LED_GPIO_CFG_SPD_LED (0x01000000) #define LED_GPIO_CFG_LNK_LED (0x00100000) #define LED_GPIO_CFG_FDX_LED (0x00010000) #define GPIO_CFG (0x28) Loading