Skip to content

Commit f9b7393

Browse files
committed
tgupdate: merge t/upstream base into t/upstream
2 parents bd81726 + 82131fc commit f9b7393

File tree

4 files changed

+35
-18
lines changed

4 files changed

+35
-18
lines changed

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16477,6 +16477,12 @@ F: net/ethtool/cabletest.c
1647716477
F: tools/testing/selftests/drivers/net/*/ethtool*
1647816478
K: cable_test
1647916479

16480+
NETWORKING [ETHTOOL MAC MERGE]
16481+
M: Vladimir Oltean <[email protected]>
16482+
F: net/ethtool/mm.c
16483+
F: tools/testing/selftests/drivers/net/hw/ethtool_mm.sh
16484+
K: ethtool_mm
16485+
1648016486
NETWORKING [GENERAL]
1648116487
M: "David S. Miller" <[email protected]>
1648216488
M: Eric Dumazet <[email protected]>

drivers/net/ethernet/ibm/ibmvnic.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2408,6 +2408,7 @@ static netdev_tx_t ibmvnic_xmit(struct sk_buff *skb, struct net_device *netdev)
24082408
dma_addr_t data_dma_addr;
24092409
struct netdev_queue *txq;
24102410
unsigned long lpar_rc;
2411+
unsigned int skblen;
24112412
union sub_crq tx_crq;
24122413
unsigned int offset;
24132414
bool use_scrq_send_direct = false;
@@ -2522,6 +2523,7 @@ static netdev_tx_t ibmvnic_xmit(struct sk_buff *skb, struct net_device *netdev)
25222523
tx_buff->skb = skb;
25232524
tx_buff->index = bufidx;
25242525
tx_buff->pool_index = queue_num;
2526+
skblen = skb->len;
25252527

25262528
memset(&tx_crq, 0, sizeof(tx_crq));
25272529
tx_crq.v1.first = IBMVNIC_CRQ_CMD;
@@ -2614,7 +2616,7 @@ static netdev_tx_t ibmvnic_xmit(struct sk_buff *skb, struct net_device *netdev)
26142616
netif_stop_subqueue(netdev, queue_num);
26152617
}
26162618

2617-
tx_bytes += skb->len;
2619+
tx_bytes += skblen;
26182620
txq_trans_cond_update(txq);
26192621
ret = NETDEV_TX_OK;
26202622
goto out;

drivers/s390/net/ism_drv.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,15 @@ static int ism_dev_init(struct ism_dev *ism)
588588
return ret;
589589
}
590590

591+
static void ism_dev_release(struct device *dev)
592+
{
593+
struct ism_dev *ism;
594+
595+
ism = container_of(dev, struct ism_dev, dev);
596+
597+
kfree(ism);
598+
}
599+
591600
static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
592601
{
593602
struct ism_dev *ism;
@@ -601,6 +610,7 @@ static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
601610
dev_set_drvdata(&pdev->dev, ism);
602611
ism->pdev = pdev;
603612
ism->dev.parent = &pdev->dev;
613+
ism->dev.release = ism_dev_release;
604614
device_initialize(&ism->dev);
605615
dev_set_name(&ism->dev, dev_name(&pdev->dev));
606616
ret = device_add(&ism->dev);
@@ -637,7 +647,7 @@ static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
637647
device_del(&ism->dev);
638648
err_dev:
639649
dev_set_drvdata(&pdev->dev, NULL);
640-
kfree(ism);
650+
put_device(&ism->dev);
641651

642652
return ret;
643653
}
@@ -682,7 +692,7 @@ static void ism_remove(struct pci_dev *pdev)
682692
pci_disable_device(pdev);
683693
device_del(&ism->dev);
684694
dev_set_drvdata(&pdev->dev, NULL);
685-
kfree(ism);
695+
put_device(&ism->dev);
686696
}
687697

688698
static struct pci_driver ism_driver = {

net/core/drop_monitor.c

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1734,30 +1734,30 @@ static int __init init_net_drop_monitor(void)
17341734
return -ENOSPC;
17351735
}
17361736

1737-
rc = genl_register_family(&net_drop_monitor_family);
1738-
if (rc) {
1739-
pr_err("Could not create drop monitor netlink family\n");
1740-
return rc;
1737+
for_each_possible_cpu(cpu) {
1738+
net_dm_cpu_data_init(cpu);
1739+
net_dm_hw_cpu_data_init(cpu);
17411740
}
1742-
WARN_ON(net_drop_monitor_family.mcgrp_offset != NET_DM_GRP_ALERT);
17431741

17441742
rc = register_netdevice_notifier(&dropmon_net_notifier);
17451743
if (rc < 0) {
17461744
pr_crit("Failed to register netdevice notifier\n");
1745+
return rc;
1746+
}
1747+
1748+
rc = genl_register_family(&net_drop_monitor_family);
1749+
if (rc) {
1750+
pr_err("Could not create drop monitor netlink family\n");
17471751
goto out_unreg;
17481752
}
1753+
WARN_ON(net_drop_monitor_family.mcgrp_offset != NET_DM_GRP_ALERT);
17491754

17501755
rc = 0;
17511756

1752-
for_each_possible_cpu(cpu) {
1753-
net_dm_cpu_data_init(cpu);
1754-
net_dm_hw_cpu_data_init(cpu);
1755-
}
1756-
17571757
goto out;
17581758

17591759
out_unreg:
1760-
genl_unregister_family(&net_drop_monitor_family);
1760+
WARN_ON(unregister_netdevice_notifier(&dropmon_net_notifier));
17611761
out:
17621762
return rc;
17631763
}
@@ -1766,19 +1766,18 @@ static void exit_net_drop_monitor(void)
17661766
{
17671767
int cpu;
17681768

1769-
BUG_ON(unregister_netdevice_notifier(&dropmon_net_notifier));
1770-
17711769
/*
17721770
* Because of the module_get/put we do in the trace state change path
17731771
* we are guaranteed not to have any current users when we get here
17741772
*/
1773+
BUG_ON(genl_unregister_family(&net_drop_monitor_family));
1774+
1775+
BUG_ON(unregister_netdevice_notifier(&dropmon_net_notifier));
17751776

17761777
for_each_possible_cpu(cpu) {
17771778
net_dm_hw_cpu_data_fini(cpu);
17781779
net_dm_cpu_data_fini(cpu);
17791780
}
1780-
1781-
BUG_ON(genl_unregister_family(&net_drop_monitor_family));
17821781
}
17831782

17841783
module_init(init_net_drop_monitor);

0 commit comments

Comments
 (0)