Skip to content

Commit b251f0f

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller: "Bug fixes galore, mostly in drivers as is often the case: 1) USB gadget and cdc_eem drivers need adjustments to their frame size lengths in order to handle VLANs correctly. From Ian Coolidge. 2) TIPC and several network drivers erroneously call tasklet_disable before tasklet_kill, fix from Xiaotian Feng. 3) r8169 driver needs to apply the WOL suspend quirk to more chipsets, fix from Cyril Brulebois. 4) Fix multicast filters on RTL_GIGA_MAC_VER_35 r8169 chips, from Nathan Walp. 5) FDB netlink dumps should use RTM_NEWNEIGH as the message type, not zero. From John Fastabend. 6) Fix smsc95xx tx checksum offload on big-endian, from Steve Glendinning. 7) __inet_diag_dump() needs to repsect and report the error value returned from inet_diag_lock_handler() rather than ignore it. Otherwise if an inet diag handler is not available for a particular protocol, we essentially report success instead of giving an error indication. Fix from Cyrill Gorcunov. 8) When the QFQ packet scheduler sees TSO/GSO packets it does not handle things properly, and in fact ends up corrupting it's datastructures as well as mis-schedule packets. Fix from Paolo Valente. 9) Fix oopser in skb_loop_sk(), from Eric Leblond. 10) CXGB4 passes partially uninitialized datastructures in to FW commands, fix from Vipul Pandya. 11) When we send unsolicited ipv6 neighbour advertisements, we should send them to the link-local allnodes multicast address, as per RFC4861. Fix from Hannes Frederic Sowa. 12) There is some kind of bug in the usbnet's kevent deferral mechanism, but more immediately when it triggers an uncontrolled stream of kernel messages spam the log. Rate limit the error log message triggered when this problem occurs, as sending thousands of error messages into the kernel log doesn't help matters at all, and in fact makes further diagnosis more difficult. From Steve Glendinning. 13) Fix gianfar restore from hibernation, from Wang Dongsheng. 14) The netlink message attribute sizes are wrong in the ipv6 GRE driver, it was using the size of ipv4 addresses instead of ipv6 ones :-) Fix from Nicolas Dichtel." * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: gre6: fix rtnl dump messages gianfar: ethernet vanishes after restoring from hibernation usbnet: ratelimit kevent may have been dropped warnings ipv6: send unsolicited neighbour advertisements to all-nodes net: usb: cdc_eem: Fix rx skb allocation for 802.1Q VLANs usb: gadget: g_ether: fix frame size check for 802.1Q cxgb4: Fix initialization of SGE_CONTROL register isdn: Make CONFIG_ISDN depend on CONFIG_NETDEVICES cxgb4: Initialize data structures before using. af-packet: fix oops when socket is not present pkt_sched: enable QFQ to support TSO/GSO net: inet_diag -- Return error code if protocol handler is missed net: bnx2x: Fix typo in bnx2x driver smsc95xx: fix tx checksum offload for big endian rtnetlink: Use nlmsg type RTM_NEWNEIGH from dflt fdb dump ptp: update adjfreq callback description r8169: allow multicast packets on sub-8168f chipset. r8169: Fix WoL on RTL8168d/8111d. drivers/net: use tasklet_kill in device remove/close process tipc: do not use tasklet_disable before tasklet_kill
2 parents 2b1768f + a375413 commit b251f0f

File tree

25 files changed

+131
-66
lines changed

25 files changed

+131
-66
lines changed

drivers/isdn/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
menuconfig ISDN
66
bool "ISDN support"
7-
depends on NET
7+
depends on NET && NETDEVICES
88
depends on !S390 && !UML
99
---help---
1010
ISDN ("Integrated Services Digital Network", called RNIS in France)

drivers/isdn/i4l/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if ISDN_I4L
66

77
config ISDN_PPP
88
bool "Support synchronous PPP"
9-
depends on INET && NETDEVICES
9+
depends on INET
1010
select SLHC
1111
help
1212
Over digital connections such as ISDN, there is no need to

drivers/isdn/i4l/isdn_common.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,7 +1312,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
13121312
} else
13131313
return -EINVAL;
13141314
break;
1315-
#ifdef CONFIG_NETDEVICES
13161315
case IIOCNETGPN:
13171316
/* Get peer phone number of a connected
13181317
* isdn network interface */
@@ -1322,7 +1321,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
13221321
return isdn_net_getpeer(&phone, argp);
13231322
} else
13241323
return -EINVAL;
1325-
#endif
13261324
default:
13271325
return -EINVAL;
13281326
}
@@ -1352,7 +1350,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
13521350
case IIOCNETLCR:
13531351
printk(KERN_INFO "INFO: ISDN_ABC_LCR_SUPPORT not enabled\n");
13541352
return -ENODEV;
1355-
#ifdef CONFIG_NETDEVICES
13561353
case IIOCNETAIF:
13571354
/* Add a network-interface */
13581355
if (arg) {
@@ -1491,7 +1488,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
14911488
return -EFAULT;
14921489
return isdn_net_force_hangup(name);
14931490
break;
1494-
#endif /* CONFIG_NETDEVICES */
14951491
case IIOCSETVER:
14961492
dev->net_verbose = arg;
14971493
printk(KERN_INFO "isdn: Verbose-Level is %d\n", dev->net_verbose);

drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1702,7 +1702,7 @@ static int bnx2x_set_eee(struct net_device *dev, struct ethtool_eee *edata)
17021702
SHMEM_EEE_ADV_STATUS_SHIFT);
17031703
if ((advertised != (eee_cfg & SHMEM_EEE_ADV_STATUS_MASK))) {
17041704
DP(BNX2X_MSG_ETHTOOL,
1705-
"Direct manipulation of EEE advertisment is not supported\n");
1705+
"Direct manipulation of EEE advertisement is not supported\n");
17061706
return -EINVAL;
17071707
}
17081708

drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9941,7 +9941,7 @@ static int bnx2x_848x3_config_init(struct bnx2x_phy *phy,
99419941
else
99429942
rc = bnx2x_8483x_disable_eee(phy, params, vars);
99439943
if (rc) {
9944-
DP(NETIF_MSG_LINK, "Failed to set EEE advertisment\n");
9944+
DP(NETIF_MSG_LINK, "Failed to set EEE advertisement\n");
99459945
return rc;
99469946
}
99479947
} else {
@@ -12987,7 +12987,7 @@ static u8 bnx2x_analyze_link_error(struct link_params *params,
1298712987
DP(NETIF_MSG_LINK, "Analyze TX Fault\n");
1298812988
break;
1298912989
default:
12990-
DP(NETIF_MSG_LINK, "Analyze UNKOWN\n");
12990+
DP(NETIF_MSG_LINK, "Analyze UNKNOWN\n");
1299112991
}
1299212992
DP(NETIF_MSG_LINK, "Link changed:[%x %x]->%x\n", vars->link_up,
1299312993
old_status, status);

drivers/net/ethernet/chelsio/cxgb4/t4_hw.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2519,6 +2519,7 @@ int t4_fw_bye(struct adapter *adap, unsigned int mbox)
25192519
{
25202520
struct fw_bye_cmd c;
25212521

2522+
memset(&c, 0, sizeof(c));
25222523
INIT_CMD(c, BYE, WRITE);
25232524
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
25242525
}
@@ -2535,6 +2536,7 @@ int t4_early_init(struct adapter *adap, unsigned int mbox)
25352536
{
25362537
struct fw_initialize_cmd c;
25372538

2539+
memset(&c, 0, sizeof(c));
25382540
INIT_CMD(c, INITIALIZE, WRITE);
25392541
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
25402542
}
@@ -2551,6 +2553,7 @@ int t4_fw_reset(struct adapter *adap, unsigned int mbox, int reset)
25512553
{
25522554
struct fw_reset_cmd c;
25532555

2556+
memset(&c, 0, sizeof(c));
25542557
INIT_CMD(c, RESET, WRITE);
25552558
c.val = htonl(reset);
25562559
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
@@ -2828,7 +2831,7 @@ int t4_fixup_host_params(struct adapter *adap, unsigned int page_size,
28282831
HOSTPAGESIZEPF7(sge_hps));
28292832

28302833
t4_set_reg_field(adap, SGE_CONTROL,
2831-
INGPADBOUNDARY(INGPADBOUNDARY_MASK) |
2834+
INGPADBOUNDARY_MASK |
28322835
EGRSTATUSPAGESIZE_MASK,
28332836
INGPADBOUNDARY(fl_align_log - 5) |
28342837
EGRSTATUSPAGESIZE(stat_len != 64));
@@ -3278,6 +3281,7 @@ int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid,
32783281
{
32793282
struct fw_vi_enable_cmd c;
32803283

3284+
memset(&c, 0, sizeof(c));
32813285
c.op_to_viid = htonl(FW_CMD_OP(FW_VI_ENABLE_CMD) | FW_CMD_REQUEST |
32823286
FW_CMD_EXEC | FW_VI_ENABLE_CMD_VIID(viid));
32833287
c.ien_to_len16 = htonl(FW_VI_ENABLE_CMD_LED | FW_LEN16(c));

drivers/net/ethernet/freescale/gianfar.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1353,8 +1353,11 @@ static int gfar_restore(struct device *dev)
13531353
struct gfar_private *priv = dev_get_drvdata(dev);
13541354
struct net_device *ndev = priv->ndev;
13551355

1356-
if (!netif_running(ndev))
1356+
if (!netif_running(ndev)) {
1357+
netif_device_attach(ndev);
1358+
13571359
return 0;
1360+
}
13581361

13591362
gfar_init_bds(ndev);
13601363
init_registers(ndev);

drivers/net/ethernet/jme.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1948,10 +1948,10 @@ jme_close(struct net_device *netdev)
19481948

19491949
JME_NAPI_DISABLE(jme);
19501950

1951-
tasklet_disable(&jme->linkch_task);
1952-
tasklet_disable(&jme->txclean_task);
1953-
tasklet_disable(&jme->rxclean_task);
1954-
tasklet_disable(&jme->rxempty_task);
1951+
tasklet_kill(&jme->linkch_task);
1952+
tasklet_kill(&jme->txclean_task);
1953+
tasklet_kill(&jme->rxclean_task);
1954+
tasklet_kill(&jme->rxempty_task);
19551955

19561956
jme_disable_rx_engine(jme);
19571957
jme_disable_tx_engine(jme);

drivers/net/ethernet/marvell/skge.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4026,7 +4026,7 @@ static void __devexit skge_remove(struct pci_dev *pdev)
40264026
dev0 = hw->dev[0];
40274027
unregister_netdev(dev0);
40284028

4029-
tasklet_disable(&hw->phy_task);
4029+
tasklet_kill(&hw->phy_task);
40304030

40314031
spin_lock_irq(&hw->hw_lock);
40324032
hw->intr_mask = 0;

drivers/net/ethernet/micrel/ksz884x.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5407,8 +5407,8 @@ static int netdev_close(struct net_device *dev)
54075407
/* Delay for receive task to stop scheduling itself. */
54085408
msleep(2000 / HZ);
54095409

5410-
tasklet_disable(&hw_priv->rx_tasklet);
5411-
tasklet_disable(&hw_priv->tx_tasklet);
5410+
tasklet_kill(&hw_priv->rx_tasklet);
5411+
tasklet_kill(&hw_priv->tx_tasklet);
54125412
free_irq(dev->irq, hw_priv->dev);
54135413

54145414
transmit_cleanup(hw_priv, 0);

0 commit comments

Comments
 (0)