Loading drivers/isdn/i4l/isdn_net.c +1 −0 Original line number Diff line number Diff line Loading @@ -2010,6 +2010,7 @@ isdn_net_init(struct net_device *ndev) ndev->flags = IFF_NOARP|IFF_POINTOPOINT; ndev->type = ARPHRD_ETHER; ndev->addr_len = ETH_ALEN; ndev->validate_addr = NULL; /* for clients with MPPP maybe higher values better */ ndev->tx_queue_len = 30; Loading drivers/net/bnx2x.c +3 −3 Original line number Diff line number Diff line Loading @@ -63,8 +63,8 @@ #include "bnx2x.h" #include "bnx2x_init.h" #define DRV_MODULE_VERSION "1.42.3" #define DRV_MODULE_RELDATE "2008/3/9" #define DRV_MODULE_VERSION "1.42.4" #define DRV_MODULE_RELDATE "2008/4/9" #define BNX2X_BC_VER 0x040200 /* Time in jiffies before concluding the transmitter is hung. */ Loading Loading @@ -6153,7 +6153,7 @@ static int bnx2x_function_init(struct bnx2x *bp, int mode) func, mode); REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_1_SET, 0xffffffff); REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_1_SET, REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_2_SET, 0xfffc); bnx2x_init_block(bp, MISC_COMMON_START, MISC_COMMON_END); Loading drivers/net/ehea/ehea.h +2 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ #include <asm/io.h> #define DRV_NAME "ehea" #define DRV_VERSION "EHEA_0089" #define DRV_VERSION "EHEA_0090" /* eHEA capability flags */ #define DLPAR_PORT_ADD_REM 1 Loading Loading @@ -371,6 +371,7 @@ struct ehea_port_res { struct ehea_q_skb_arr rq2_skba; struct ehea_q_skb_arr rq3_skba; struct ehea_q_skb_arr sq_skba; int sq_skba_size; spinlock_t netif_queue; int queue_stopped; int swqe_refill_th; Loading drivers/net/ehea/ehea_main.c +22 −2 Original line number Diff line number Diff line Loading @@ -350,6 +350,7 @@ static void ehea_refill_rq1(struct ehea_port_res *pr, int index, int nr_of_wqes) pr->rq1_skba.os_skbs = 0; if (unlikely(test_bit(__EHEA_STOP_XFER, &ehea_driver_flags))) { if (nr_of_wqes > 0) pr->rq1_skba.index = index; pr->rq1_skba.os_skbs = fill_wqes; return; Loading Loading @@ -1465,7 +1466,9 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr, init_attr->act_nr_rwqes_rq2, init_attr->act_nr_rwqes_rq3); ret = ehea_init_q_skba(&pr->sq_skba, init_attr->act_nr_send_wqes + 1); pr->sq_skba_size = init_attr->act_nr_send_wqes + 1; ret = ehea_init_q_skba(&pr->sq_skba, pr->sq_skba_size); ret |= ehea_init_q_skba(&pr->rq1_skba, init_attr->act_nr_rwqes_rq1 + 1); ret |= ehea_init_q_skba(&pr->rq2_skba, init_attr->act_nr_rwqes_rq2 + 1); ret |= ehea_init_q_skba(&pr->rq3_skba, init_attr->act_nr_rwqes_rq3 + 1); Loading Loading @@ -2622,6 +2625,22 @@ void ehea_purge_sq(struct ehea_qp *orig_qp) } } void ehea_flush_sq(struct ehea_port *port) { int i; for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) { struct ehea_port_res *pr = &port->port_res[i]; int swqe_max = pr->sq_skba_size - 2 - pr->swqe_ll_count; int k = 0; while (atomic_read(&pr->swqe_avail) < swqe_max) { msleep(5); if (++k == 20) break; } } } int ehea_stop_qps(struct net_device *dev) { struct ehea_port *port = netdev_priv(dev); Loading Loading @@ -2849,6 +2868,7 @@ static void ehea_rereg_mrs(struct work_struct *work) if (dev->flags & IFF_UP) { mutex_lock(&port->port_lock); netif_stop_queue(dev); ehea_flush_sq(port); ret = ehea_stop_qps(dev); if (ret) { mutex_unlock(&port->port_lock); Loading drivers/net/forcedeth.c +26 −5 Original line number Diff line number Diff line Loading @@ -2112,9 +2112,8 @@ static inline void nv_tx_flip_ownership(struct net_device *dev) np->tx_pkts_in_progress--; if (np->tx_change_owner) { __le32 flaglen = le32_to_cpu(np->tx_change_owner->first_tx_desc->flaglen); flaglen |= NV_TX2_VALID; np->tx_change_owner->first_tx_desc->flaglen = cpu_to_le32(flaglen); np->tx_change_owner->first_tx_desc->flaglen |= cpu_to_le32(NV_TX2_VALID); np->tx_pkts_in_progress++; np->tx_change_owner = np->tx_change_owner->next_tx_ctx; Loading Loading @@ -5319,8 +5318,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i /* check the workaround bit for correct mac address order */ txreg = readl(base + NvRegTransmitPoll); if ((txreg & NVREG_TRANSMITPOLL_MAC_ADDR_REV) || (id->driver_data & DEV_HAS_CORRECT_MACADDR)) { if (id->driver_data & DEV_HAS_CORRECT_MACADDR) { /* mac address is already in correct order */ dev->dev_addr[0] = (np->orig_mac[0] >> 0) & 0xff; dev->dev_addr[1] = (np->orig_mac[0] >> 8) & 0xff; Loading @@ -5328,6 +5326,22 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i dev->dev_addr[3] = (np->orig_mac[0] >> 24) & 0xff; dev->dev_addr[4] = (np->orig_mac[1] >> 0) & 0xff; dev->dev_addr[5] = (np->orig_mac[1] >> 8) & 0xff; } else if (txreg & NVREG_TRANSMITPOLL_MAC_ADDR_REV) { /* mac address is already in correct order */ dev->dev_addr[0] = (np->orig_mac[0] >> 0) & 0xff; dev->dev_addr[1] = (np->orig_mac[0] >> 8) & 0xff; dev->dev_addr[2] = (np->orig_mac[0] >> 16) & 0xff; dev->dev_addr[3] = (np->orig_mac[0] >> 24) & 0xff; dev->dev_addr[4] = (np->orig_mac[1] >> 0) & 0xff; dev->dev_addr[5] = (np->orig_mac[1] >> 8) & 0xff; /* * Set orig mac address back to the reversed version. * This flag will be cleared during low power transition. * Therefore, we should always put back the reversed address. */ np->orig_mac[0] = (dev->dev_addr[5] << 0) + (dev->dev_addr[4] << 8) + (dev->dev_addr[3] << 16) + (dev->dev_addr[2] << 24); np->orig_mac[1] = (dev->dev_addr[1] << 0) + (dev->dev_addr[0] << 8); } else { /* need to reverse mac address to correct order */ dev->dev_addr[0] = (np->orig_mac[1] >> 8) & 0xff; Loading Loading @@ -5598,7 +5612,9 @@ static int nv_suspend(struct pci_dev *pdev, pm_message_t state) static int nv_resume(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); u8 __iomem *base = get_hwbase(dev); int rc = 0; u32 txreg; if (!netif_running(dev)) goto out; Loading @@ -5609,6 +5625,11 @@ static int nv_resume(struct pci_dev *pdev) pci_restore_state(pdev); pci_enable_wake(pdev, PCI_D0, 0); /* restore mac address reverse flag */ txreg = readl(base + NvRegTransmitPoll); txreg |= NVREG_TRANSMITPOLL_MAC_ADDR_REV; writel(txreg, base + NvRegTransmitPoll); rc = nv_open(dev); out: return rc; Loading Loading
drivers/isdn/i4l/isdn_net.c +1 −0 Original line number Diff line number Diff line Loading @@ -2010,6 +2010,7 @@ isdn_net_init(struct net_device *ndev) ndev->flags = IFF_NOARP|IFF_POINTOPOINT; ndev->type = ARPHRD_ETHER; ndev->addr_len = ETH_ALEN; ndev->validate_addr = NULL; /* for clients with MPPP maybe higher values better */ ndev->tx_queue_len = 30; Loading
drivers/net/bnx2x.c +3 −3 Original line number Diff line number Diff line Loading @@ -63,8 +63,8 @@ #include "bnx2x.h" #include "bnx2x_init.h" #define DRV_MODULE_VERSION "1.42.3" #define DRV_MODULE_RELDATE "2008/3/9" #define DRV_MODULE_VERSION "1.42.4" #define DRV_MODULE_RELDATE "2008/4/9" #define BNX2X_BC_VER 0x040200 /* Time in jiffies before concluding the transmitter is hung. */ Loading Loading @@ -6153,7 +6153,7 @@ static int bnx2x_function_init(struct bnx2x *bp, int mode) func, mode); REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_1_SET, 0xffffffff); REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_1_SET, REG_WR(bp, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_2_SET, 0xfffc); bnx2x_init_block(bp, MISC_COMMON_START, MISC_COMMON_END); Loading
drivers/net/ehea/ehea.h +2 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ #include <asm/io.h> #define DRV_NAME "ehea" #define DRV_VERSION "EHEA_0089" #define DRV_VERSION "EHEA_0090" /* eHEA capability flags */ #define DLPAR_PORT_ADD_REM 1 Loading Loading @@ -371,6 +371,7 @@ struct ehea_port_res { struct ehea_q_skb_arr rq2_skba; struct ehea_q_skb_arr rq3_skba; struct ehea_q_skb_arr sq_skba; int sq_skba_size; spinlock_t netif_queue; int queue_stopped; int swqe_refill_th; Loading
drivers/net/ehea/ehea_main.c +22 −2 Original line number Diff line number Diff line Loading @@ -350,6 +350,7 @@ static void ehea_refill_rq1(struct ehea_port_res *pr, int index, int nr_of_wqes) pr->rq1_skba.os_skbs = 0; if (unlikely(test_bit(__EHEA_STOP_XFER, &ehea_driver_flags))) { if (nr_of_wqes > 0) pr->rq1_skba.index = index; pr->rq1_skba.os_skbs = fill_wqes; return; Loading Loading @@ -1465,7 +1466,9 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr, init_attr->act_nr_rwqes_rq2, init_attr->act_nr_rwqes_rq3); ret = ehea_init_q_skba(&pr->sq_skba, init_attr->act_nr_send_wqes + 1); pr->sq_skba_size = init_attr->act_nr_send_wqes + 1; ret = ehea_init_q_skba(&pr->sq_skba, pr->sq_skba_size); ret |= ehea_init_q_skba(&pr->rq1_skba, init_attr->act_nr_rwqes_rq1 + 1); ret |= ehea_init_q_skba(&pr->rq2_skba, init_attr->act_nr_rwqes_rq2 + 1); ret |= ehea_init_q_skba(&pr->rq3_skba, init_attr->act_nr_rwqes_rq3 + 1); Loading Loading @@ -2622,6 +2625,22 @@ void ehea_purge_sq(struct ehea_qp *orig_qp) } } void ehea_flush_sq(struct ehea_port *port) { int i; for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) { struct ehea_port_res *pr = &port->port_res[i]; int swqe_max = pr->sq_skba_size - 2 - pr->swqe_ll_count; int k = 0; while (atomic_read(&pr->swqe_avail) < swqe_max) { msleep(5); if (++k == 20) break; } } } int ehea_stop_qps(struct net_device *dev) { struct ehea_port *port = netdev_priv(dev); Loading Loading @@ -2849,6 +2868,7 @@ static void ehea_rereg_mrs(struct work_struct *work) if (dev->flags & IFF_UP) { mutex_lock(&port->port_lock); netif_stop_queue(dev); ehea_flush_sq(port); ret = ehea_stop_qps(dev); if (ret) { mutex_unlock(&port->port_lock); Loading
drivers/net/forcedeth.c +26 −5 Original line number Diff line number Diff line Loading @@ -2112,9 +2112,8 @@ static inline void nv_tx_flip_ownership(struct net_device *dev) np->tx_pkts_in_progress--; if (np->tx_change_owner) { __le32 flaglen = le32_to_cpu(np->tx_change_owner->first_tx_desc->flaglen); flaglen |= NV_TX2_VALID; np->tx_change_owner->first_tx_desc->flaglen = cpu_to_le32(flaglen); np->tx_change_owner->first_tx_desc->flaglen |= cpu_to_le32(NV_TX2_VALID); np->tx_pkts_in_progress++; np->tx_change_owner = np->tx_change_owner->next_tx_ctx; Loading Loading @@ -5319,8 +5318,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i /* check the workaround bit for correct mac address order */ txreg = readl(base + NvRegTransmitPoll); if ((txreg & NVREG_TRANSMITPOLL_MAC_ADDR_REV) || (id->driver_data & DEV_HAS_CORRECT_MACADDR)) { if (id->driver_data & DEV_HAS_CORRECT_MACADDR) { /* mac address is already in correct order */ dev->dev_addr[0] = (np->orig_mac[0] >> 0) & 0xff; dev->dev_addr[1] = (np->orig_mac[0] >> 8) & 0xff; Loading @@ -5328,6 +5326,22 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i dev->dev_addr[3] = (np->orig_mac[0] >> 24) & 0xff; dev->dev_addr[4] = (np->orig_mac[1] >> 0) & 0xff; dev->dev_addr[5] = (np->orig_mac[1] >> 8) & 0xff; } else if (txreg & NVREG_TRANSMITPOLL_MAC_ADDR_REV) { /* mac address is already in correct order */ dev->dev_addr[0] = (np->orig_mac[0] >> 0) & 0xff; dev->dev_addr[1] = (np->orig_mac[0] >> 8) & 0xff; dev->dev_addr[2] = (np->orig_mac[0] >> 16) & 0xff; dev->dev_addr[3] = (np->orig_mac[0] >> 24) & 0xff; dev->dev_addr[4] = (np->orig_mac[1] >> 0) & 0xff; dev->dev_addr[5] = (np->orig_mac[1] >> 8) & 0xff; /* * Set orig mac address back to the reversed version. * This flag will be cleared during low power transition. * Therefore, we should always put back the reversed address. */ np->orig_mac[0] = (dev->dev_addr[5] << 0) + (dev->dev_addr[4] << 8) + (dev->dev_addr[3] << 16) + (dev->dev_addr[2] << 24); np->orig_mac[1] = (dev->dev_addr[1] << 0) + (dev->dev_addr[0] << 8); } else { /* need to reverse mac address to correct order */ dev->dev_addr[0] = (np->orig_mac[1] >> 8) & 0xff; Loading Loading @@ -5598,7 +5612,9 @@ static int nv_suspend(struct pci_dev *pdev, pm_message_t state) static int nv_resume(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); u8 __iomem *base = get_hwbase(dev); int rc = 0; u32 txreg; if (!netif_running(dev)) goto out; Loading @@ -5609,6 +5625,11 @@ static int nv_resume(struct pci_dev *pdev) pci_restore_state(pdev); pci_enable_wake(pdev, PCI_D0, 0); /* restore mac address reverse flag */ txreg = readl(base + NvRegTransmitPoll); txreg |= NVREG_TRANSMITPOLL_MAC_ADDR_REV; writel(txreg, base + NvRegTransmitPoll); rc = nv_open(dev); out: return rc; Loading