diff options
| -rw-r--r-- | drivers/net/ethernet/broadcom/bnx2.c | 2 | ||||
| -rw-r--r-- | drivers/net/ethernet/octeon/octeon_mgmt.c | 4 | ||||
| -rw-r--r-- | drivers/net/ethernet/pasemi/pasemi_mac.c | 4 | ||||
| -rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 4 | ||||
| -rw-r--r-- | drivers/net/phy/smsc.c | 28 | ||||
| -rw-r--r-- | drivers/net/team/team.c | 12 | ||||
| -rw-r--r-- | drivers/net/usb/smsc75xx.c | 1 | ||||
| -rw-r--r-- | net/ipv4/inetpeer.c | 5 | ||||
| -rw-r--r-- | net/l2tp/l2tp_netlink.c | 12 | ||||
| -rw-r--r-- | net/netfilter/xt_limit.c | 8 |
10 files changed, 54 insertions, 26 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c index 79cebd8525ce..e48312f2305d 100644 --- a/drivers/net/ethernet/broadcom/bnx2.c +++ b/drivers/net/ethernet/broadcom/bnx2.c | |||
| @@ -8564,7 +8564,7 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
| 8564 | return 0; | 8564 | return 0; |
| 8565 | 8565 | ||
| 8566 | error: | 8566 | error: |
| 8567 | iounmap(bp->regview); | 8567 | pci_iounmap(pdev, bp->regview); |
| 8568 | pci_release_regions(pdev); | 8568 | pci_release_regions(pdev); |
| 8569 | pci_disable_device(pdev); | 8569 | pci_disable_device(pdev); |
| 8570 | pci_set_drvdata(pdev, NULL); | 8570 | pci_set_drvdata(pdev, NULL); |
diff --git a/drivers/net/ethernet/octeon/octeon_mgmt.c b/drivers/net/ethernet/octeon/octeon_mgmt.c index c42bbb16cdae..a688a2ddcfd6 100644 --- a/drivers/net/ethernet/octeon/octeon_mgmt.c +++ b/drivers/net/ethernet/octeon/octeon_mgmt.c | |||
| @@ -722,10 +722,8 @@ static int octeon_mgmt_init_phy(struct net_device *netdev) | |||
| 722 | octeon_mgmt_adjust_link, 0, | 722 | octeon_mgmt_adjust_link, 0, |
| 723 | PHY_INTERFACE_MODE_MII); | 723 | PHY_INTERFACE_MODE_MII); |
| 724 | 724 | ||
| 725 | if (IS_ERR(p->phydev)) { | 725 | if (!p->phydev) |
| 726 | p->phydev = NULL; | ||
| 727 | return -1; | 726 | return -1; |
| 728 | } | ||
| 729 | 727 | ||
| 730 | phy_start_aneg(p->phydev); | 728 | phy_start_aneg(p->phydev); |
| 731 | 729 | ||
diff --git a/drivers/net/ethernet/pasemi/pasemi_mac.c b/drivers/net/ethernet/pasemi/pasemi_mac.c index e559dfa06d6a..6fa74d530e44 100644 --- a/drivers/net/ethernet/pasemi/pasemi_mac.c +++ b/drivers/net/ethernet/pasemi/pasemi_mac.c | |||
| @@ -1101,9 +1101,9 @@ static int pasemi_mac_phy_init(struct net_device *dev) | |||
| 1101 | phydev = of_phy_connect(dev, phy_dn, &pasemi_adjust_link, 0, | 1101 | phydev = of_phy_connect(dev, phy_dn, &pasemi_adjust_link, 0, |
| 1102 | PHY_INTERFACE_MODE_SGMII); | 1102 | PHY_INTERFACE_MODE_SGMII); |
| 1103 | 1103 | ||
| 1104 | if (IS_ERR(phydev)) { | 1104 | if (!phydev) { |
| 1105 | printk(KERN_ERR "%s: Could not attach to phy\n", dev->name); | 1105 | printk(KERN_ERR "%s: Could not attach to phy\n", dev->name); |
| 1106 | return PTR_ERR(phydev); | 1106 | return -ENODEV; |
| 1107 | } | 1107 | } |
| 1108 | 1108 | ||
| 1109 | mac->phydev = phydev; | 1109 | mac->phydev = phydev; |
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c index b8ead696141e..2a179d087207 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | |||
| @@ -15,7 +15,7 @@ qlcnic_poll_rsp(struct qlcnic_adapter *adapter) | |||
| 15 | 15 | ||
| 16 | do { | 16 | do { |
| 17 | /* give atleast 1ms for firmware to respond */ | 17 | /* give atleast 1ms for firmware to respond */ |
| 18 | msleep(1); | 18 | mdelay(1); |
| 19 | 19 | ||
| 20 | if (++timeout > QLCNIC_OS_CRB_RETRY_COUNT) | 20 | if (++timeout > QLCNIC_OS_CRB_RETRY_COUNT) |
| 21 | return QLCNIC_CDRP_RSP_TIMEOUT; | 21 | return QLCNIC_CDRP_RSP_TIMEOUT; |
| @@ -601,7 +601,7 @@ void qlcnic_fw_destroy_ctx(struct qlcnic_adapter *adapter) | |||
| 601 | qlcnic_fw_cmd_destroy_tx_ctx(adapter); | 601 | qlcnic_fw_cmd_destroy_tx_ctx(adapter); |
| 602 | 602 | ||
| 603 | /* Allow dma queues to drain after context reset */ | 603 | /* Allow dma queues to drain after context reset */ |
| 604 | msleep(20); | 604 | mdelay(20); |
| 605 | } | 605 | } |
| 606 | } | 606 | } |
| 607 | 607 | ||
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c index 6d6192316b30..88e3991464e7 100644 --- a/drivers/net/phy/smsc.c +++ b/drivers/net/phy/smsc.c | |||
| @@ -56,6 +56,32 @@ static int smsc_phy_config_init(struct phy_device *phydev) | |||
| 56 | return smsc_phy_ack_interrupt (phydev); | 56 | return smsc_phy_ack_interrupt (phydev); |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | static int lan87xx_config_init(struct phy_device *phydev) | ||
| 60 | { | ||
| 61 | /* | ||
| 62 | * Make sure the EDPWRDOWN bit is NOT set. Setting this bit on | ||
| 63 | * LAN8710/LAN8720 PHY causes the PHY to misbehave, likely due | ||
| 64 | * to a bug on the chip. | ||
| 65 | * | ||
| 66 | * When the system is powered on with the network cable being | ||
| 67 | * disconnected all the way until after ifconfig ethX up is | ||
| 68 | * issued for the LAN port with this PHY, connecting the cable | ||
| 69 | * afterwards does not cause LINK change detection, while the | ||
| 70 | * expected behavior is the Link UP being detected. | ||
| 71 | */ | ||
| 72 | int rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS); | ||
| 73 | if (rc < 0) | ||
| 74 | return rc; | ||
| 75 | |||
| 76 | rc &= ~MII_LAN83C185_EDPWRDOWN; | ||
| 77 | |||
| 78 | rc = phy_write(phydev, MII_LAN83C185_CTRL_STATUS, rc); | ||
| 79 | if (rc < 0) | ||
| 80 | return rc; | ||
| 81 | |||
| 82 | return smsc_phy_ack_interrupt(phydev); | ||
| 83 | } | ||
| 84 | |||
| 59 | static int lan911x_config_init(struct phy_device *phydev) | 85 | static int lan911x_config_init(struct phy_device *phydev) |
| 60 | { | 86 | { |
| 61 | return smsc_phy_ack_interrupt(phydev); | 87 | return smsc_phy_ack_interrupt(phydev); |
| @@ -162,7 +188,7 @@ static struct phy_driver smsc_phy_driver[] = { | |||
| 162 | /* basic functions */ | 188 | /* basic functions */ |
| 163 | .config_aneg = genphy_config_aneg, | 189 | .config_aneg = genphy_config_aneg, |
| 164 | .read_status = genphy_read_status, | 190 | .read_status = genphy_read_status, |
| 165 | .config_init = smsc_phy_config_init, | 191 | .config_init = lan87xx_config_init, |
| 166 | 192 | ||
| 167 | /* IRQ related */ | 193 | /* IRQ related */ |
| 168 | .ack_interrupt = smsc_phy_ack_interrupt, | 194 | .ack_interrupt = smsc_phy_ack_interrupt, |
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index 3ffe8a6e3c8b..f8cd61f449a4 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c | |||
| @@ -1653,8 +1653,8 @@ static int team_nl_cmd_noop(struct sk_buff *skb, struct genl_info *info) | |||
| 1653 | 1653 | ||
| 1654 | hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, | 1654 | hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, |
| 1655 | &team_nl_family, 0, TEAM_CMD_NOOP); | 1655 | &team_nl_family, 0, TEAM_CMD_NOOP); |
| 1656 | if (IS_ERR(hdr)) { | 1656 | if (!hdr) { |
| 1657 | err = PTR_ERR(hdr); | 1657 | err = -EMSGSIZE; |
| 1658 | goto err_msg_put; | 1658 | goto err_msg_put; |
| 1659 | } | 1659 | } |
| 1660 | 1660 | ||
| @@ -1848,8 +1848,8 @@ start_again: | |||
| 1848 | 1848 | ||
| 1849 | hdr = genlmsg_put(skb, pid, seq, &team_nl_family, flags | NLM_F_MULTI, | 1849 | hdr = genlmsg_put(skb, pid, seq, &team_nl_family, flags | NLM_F_MULTI, |
| 1850 | TEAM_CMD_OPTIONS_GET); | 1850 | TEAM_CMD_OPTIONS_GET); |
| 1851 | if (IS_ERR(hdr)) | 1851 | if (!hdr) |
| 1852 | return PTR_ERR(hdr); | 1852 | return -EMSGSIZE; |
| 1853 | 1853 | ||
| 1854 | if (nla_put_u32(skb, TEAM_ATTR_TEAM_IFINDEX, team->dev->ifindex)) | 1854 | if (nla_put_u32(skb, TEAM_ATTR_TEAM_IFINDEX, team->dev->ifindex)) |
| 1855 | goto nla_put_failure; | 1855 | goto nla_put_failure; |
| @@ -2068,8 +2068,8 @@ static int team_nl_fill_port_list_get(struct sk_buff *skb, | |||
| 2068 | 2068 | ||
| 2069 | hdr = genlmsg_put(skb, pid, seq, &team_nl_family, flags, | 2069 | hdr = genlmsg_put(skb, pid, seq, &team_nl_family, flags, |
| 2070 | TEAM_CMD_PORT_LIST_GET); | 2070 | TEAM_CMD_PORT_LIST_GET); |
| 2071 | if (IS_ERR(hdr)) | 2071 | if (!hdr) |
| 2072 | return PTR_ERR(hdr); | 2072 | return -EMSGSIZE; |
| 2073 | 2073 | ||
| 2074 | if (nla_put_u32(skb, TEAM_ATTR_TEAM_IFINDEX, team->dev->ifindex)) | 2074 | if (nla_put_u32(skb, TEAM_ATTR_TEAM_IFINDEX, team->dev->ifindex)) |
| 2075 | goto nla_put_failure; | 2075 | goto nla_put_failure; |
diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c index f5ab6e613ec8..376143e8a1aa 100644 --- a/drivers/net/usb/smsc75xx.c +++ b/drivers/net/usb/smsc75xx.c | |||
| @@ -1253,6 +1253,7 @@ static struct usb_driver smsc75xx_driver = { | |||
| 1253 | .probe = usbnet_probe, | 1253 | .probe = usbnet_probe, |
| 1254 | .suspend = usbnet_suspend, | 1254 | .suspend = usbnet_suspend, |
| 1255 | .resume = usbnet_resume, | 1255 | .resume = usbnet_resume, |
| 1256 | .reset_resume = usbnet_resume, | ||
| 1256 | .disconnect = usbnet_disconnect, | 1257 | .disconnect = usbnet_disconnect, |
| 1257 | .disable_hub_initiated_lpm = 1, | 1258 | .disable_hub_initiated_lpm = 1, |
| 1258 | }; | 1259 | }; |
diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c index e1e0a4e8fd34..c7527f6b9ad9 100644 --- a/net/ipv4/inetpeer.c +++ b/net/ipv4/inetpeer.c | |||
| @@ -510,7 +510,10 @@ relookup: | |||
| 510 | secure_ipv6_id(daddr->addr.a6)); | 510 | secure_ipv6_id(daddr->addr.a6)); |
| 511 | p->metrics[RTAX_LOCK-1] = INETPEER_METRICS_NEW; | 511 | p->metrics[RTAX_LOCK-1] = INETPEER_METRICS_NEW; |
| 512 | p->rate_tokens = 0; | 512 | p->rate_tokens = 0; |
| 513 | p->rate_last = 0; | 513 | /* 60*HZ is arbitrary, but chosen enough high so that the first |
| 514 | * calculation of tokens is at its maximum. | ||
| 515 | */ | ||
| 516 | p->rate_last = jiffies - 60*HZ; | ||
| 514 | INIT_LIST_HEAD(&p->gc_list); | 517 | INIT_LIST_HEAD(&p->gc_list); |
| 515 | 518 | ||
| 516 | /* Link the node. */ | 519 | /* Link the node. */ |
diff --git a/net/l2tp/l2tp_netlink.c b/net/l2tp/l2tp_netlink.c index d71cd9229a47..6f936358d664 100644 --- a/net/l2tp/l2tp_netlink.c +++ b/net/l2tp/l2tp_netlink.c | |||
| @@ -80,8 +80,8 @@ static int l2tp_nl_cmd_noop(struct sk_buff *skb, struct genl_info *info) | |||
| 80 | 80 | ||
| 81 | hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, | 81 | hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, |
| 82 | &l2tp_nl_family, 0, L2TP_CMD_NOOP); | 82 | &l2tp_nl_family, 0, L2TP_CMD_NOOP); |
| 83 | if (IS_ERR(hdr)) { | 83 | if (!hdr) { |
| 84 | ret = PTR_ERR(hdr); | 84 | ret = -EMSGSIZE; |
| 85 | goto err_out; | 85 | goto err_out; |
| 86 | } | 86 | } |
| 87 | 87 | ||
| @@ -250,8 +250,8 @@ static int l2tp_nl_tunnel_send(struct sk_buff *skb, u32 pid, u32 seq, int flags, | |||
| 250 | 250 | ||
| 251 | hdr = genlmsg_put(skb, pid, seq, &l2tp_nl_family, flags, | 251 | hdr = genlmsg_put(skb, pid, seq, &l2tp_nl_family, flags, |
| 252 | L2TP_CMD_TUNNEL_GET); | 252 | L2TP_CMD_TUNNEL_GET); |
| 253 | if (IS_ERR(hdr)) | 253 | if (!hdr) |
| 254 | return PTR_ERR(hdr); | 254 | return -EMSGSIZE; |
| 255 | 255 | ||
| 256 | if (nla_put_u8(skb, L2TP_ATTR_PROTO_VERSION, tunnel->version) || | 256 | if (nla_put_u8(skb, L2TP_ATTR_PROTO_VERSION, tunnel->version) || |
| 257 | nla_put_u32(skb, L2TP_ATTR_CONN_ID, tunnel->tunnel_id) || | 257 | nla_put_u32(skb, L2TP_ATTR_CONN_ID, tunnel->tunnel_id) || |
| @@ -617,8 +617,8 @@ static int l2tp_nl_session_send(struct sk_buff *skb, u32 pid, u32 seq, int flags | |||
| 617 | sk = tunnel->sock; | 617 | sk = tunnel->sock; |
| 618 | 618 | ||
| 619 | hdr = genlmsg_put(skb, pid, seq, &l2tp_nl_family, flags, L2TP_CMD_SESSION_GET); | 619 | hdr = genlmsg_put(skb, pid, seq, &l2tp_nl_family, flags, L2TP_CMD_SESSION_GET); |
| 620 | if (IS_ERR(hdr)) | 620 | if (!hdr) |
| 621 | return PTR_ERR(hdr); | 621 | return -EMSGSIZE; |
| 622 | 622 | ||
| 623 | if (nla_put_u32(skb, L2TP_ATTR_CONN_ID, tunnel->tunnel_id) || | 623 | if (nla_put_u32(skb, L2TP_ATTR_CONN_ID, tunnel->tunnel_id) || |
| 624 | nla_put_u32(skb, L2TP_ATTR_SESSION_ID, session->session_id) || | 624 | nla_put_u32(skb, L2TP_ATTR_SESSION_ID, session->session_id) || |
diff --git a/net/netfilter/xt_limit.c b/net/netfilter/xt_limit.c index 5c22ce8ab309..a4c1e4528cac 100644 --- a/net/netfilter/xt_limit.c +++ b/net/netfilter/xt_limit.c | |||
| @@ -117,11 +117,11 @@ static int limit_mt_check(const struct xt_mtchk_param *par) | |||
| 117 | 117 | ||
| 118 | /* For SMP, we only want to use one set of state. */ | 118 | /* For SMP, we only want to use one set of state. */ |
| 119 | r->master = priv; | 119 | r->master = priv; |
| 120 | /* User avg in seconds * XT_LIMIT_SCALE: convert to jiffies * | ||
| 121 | 128. */ | ||
| 122 | priv->prev = jiffies; | ||
| 123 | priv->credit = user2credits(r->avg * r->burst); /* Credits full. */ | ||
| 120 | if (r->cost == 0) { | 124 | if (r->cost == 0) { |
| 121 | /* User avg in seconds * XT_LIMIT_SCALE: convert to jiffies * | ||
| 122 | 128. */ | ||
| 123 | priv->prev = jiffies; | ||
| 124 | priv->credit = user2credits(r->avg * r->burst); /* Credits full. */ | ||
| 125 | r->credit_cap = priv->credit; /* Credits full. */ | 125 | r->credit_cap = priv->credit; /* Credits full. */ |
| 126 | r->cost = user2credits(r->avg); | 126 | r->cost = user2credits(r->avg); |
| 127 | } | 127 | } |
