Skip to content

Commit eac4828

Browse files
author
NipaLocal
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Signed-off-by: NipaLocal <nipa@local>
2 parents cccfe09 + 7544f3f commit eac4828

File tree

9 files changed

+35
-18
lines changed

9 files changed

+35
-18
lines changed

CREDITS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2981,6 +2981,11 @@ S: 521 Pleasant Valley Road
29812981
S: Potsdam, New York 13676
29822982
S: USA
29832983

2984+
N: Shannon Nelson
2985+
2986+
D: Worked on several network drivers including
2987+
D: ixgbe, i40e, ionic, pds_core, pds_vdpa, pds_fwctl
2988+
29842989
N: Dave Neuer
29852990
29862991
D: Helped implement support for Compaq's H31xx series iPAQs

Documentation/networking/device_drivers/ethernet/marvell/octeontx2.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Admin Function driver
6666
As mentioned above RVU PF0 is called the admin function (AF), this driver
6767
supports resource provisioning and configuration of functional blocks.
6868
Doesn't handle any I/O. It sets up few basic stuff but most of the
69-
funcionality is achieved via configuration requests from PFs and VFs.
69+
functionality is achieved via configuration requests from PFs and VFs.
7070

7171
PF/VFs communicates with AF via a shared memory region (mailbox). Upon
7272
receiving requests AF does resource provisioning and other HW configuration.

drivers/net/ethernet/microsoft/mana/gdma_main.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ static void mana_gd_init_pf_regs(struct pci_dev *pdev)
3333
gc->db_page_base = gc->bar0_va +
3434
mana_gd_r64(gc, GDMA_PF_REG_DB_PAGE_OFF);
3535

36+
gc->phys_db_page_base = gc->bar0_pa +
37+
mana_gd_r64(gc, GDMA_PF_REG_DB_PAGE_OFF);
38+
3639
sriov_base_off = mana_gd_r64(gc, GDMA_SRIOV_REG_CFG_BASE_OFF);
3740

3841
sriov_base_va = gc->bar0_va + sriov_base_off;

drivers/net/ethernet/pensando/ionic/ionic_txrx.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ static int ionic_xdp_post_frame(struct ionic_queue *q, struct xdp_frame *frame,
321321
len, DMA_TO_DEVICE);
322322
} else /* XDP_REDIRECT */ {
323323
dma_addr = ionic_tx_map_single(q, frame->data, len);
324-
if (!dma_addr)
324+
if (dma_addr == DMA_MAPPING_ERROR)
325325
return -EIO;
326326
}
327327

@@ -357,7 +357,7 @@ static int ionic_xdp_post_frame(struct ionic_queue *q, struct xdp_frame *frame,
357357
} else {
358358
dma_addr = ionic_tx_map_frag(q, frag, 0,
359359
skb_frag_size(frag));
360-
if (dma_mapping_error(q->dev, dma_addr)) {
360+
if (dma_addr == DMA_MAPPING_ERROR) {
361361
ionic_tx_desc_unmap_bufs(q, desc_info);
362362
return -EIO;
363363
}
@@ -1083,7 +1083,7 @@ static dma_addr_t ionic_tx_map_single(struct ionic_queue *q,
10831083
net_warn_ratelimited("%s: DMA single map failed on %s!\n",
10841084
dev_name(dev), q->name);
10851085
q_to_tx_stats(q)->dma_map_err++;
1086-
return 0;
1086+
return DMA_MAPPING_ERROR;
10871087
}
10881088
return dma_addr;
10891089
}
@@ -1100,7 +1100,7 @@ static dma_addr_t ionic_tx_map_frag(struct ionic_queue *q,
11001100
net_warn_ratelimited("%s: DMA frag map failed on %s!\n",
11011101
dev_name(dev), q->name);
11021102
q_to_tx_stats(q)->dma_map_err++;
1103-
return 0;
1103+
return DMA_MAPPING_ERROR;
11041104
}
11051105
return dma_addr;
11061106
}
@@ -1116,7 +1116,7 @@ static int ionic_tx_map_skb(struct ionic_queue *q, struct sk_buff *skb,
11161116
int frag_idx;
11171117

11181118
dma_addr = ionic_tx_map_single(q, skb->data, skb_headlen(skb));
1119-
if (!dma_addr)
1119+
if (dma_addr == DMA_MAPPING_ERROR)
11201120
return -EIO;
11211121
buf_info->dma_addr = dma_addr;
11221122
buf_info->len = skb_headlen(skb);
@@ -1126,7 +1126,7 @@ static int ionic_tx_map_skb(struct ionic_queue *q, struct sk_buff *skb,
11261126
nfrags = skb_shinfo(skb)->nr_frags;
11271127
for (frag_idx = 0; frag_idx < nfrags; frag_idx++, frag++) {
11281128
dma_addr = ionic_tx_map_frag(q, frag, 0, skb_frag_size(frag));
1129-
if (!dma_addr)
1129+
if (dma_addr == DMA_MAPPING_ERROR)
11301130
goto dma_fail;
11311131
buf_info->dma_addr = dma_addr;
11321132
buf_info->len = skb_frag_size(frag);

drivers/net/ethernet/qlogic/qed/qed_mng_tlv.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ static int qed_mfw_get_tlv_group(u8 tlv_type, u8 *tlv_group)
242242
}
243243

244244
/* Returns size of the data buffer or, -1 in case TLV data is not available. */
245-
static int
245+
static noinline_for_stack int
246246
qed_mfw_get_gen_tlv_value(struct qed_drv_tlv_hdr *p_tlv,
247247
struct qed_mfw_tlv_generic *p_drv_buf,
248248
struct qed_tlv_parsed_buf *p_buf)
@@ -304,7 +304,7 @@ qed_mfw_get_gen_tlv_value(struct qed_drv_tlv_hdr *p_tlv,
304304
return -1;
305305
}
306306

307-
static int
307+
static noinline_for_stack int
308308
qed_mfw_get_eth_tlv_value(struct qed_drv_tlv_hdr *p_tlv,
309309
struct qed_mfw_tlv_eth *p_drv_buf,
310310
struct qed_tlv_parsed_buf *p_buf)
@@ -438,7 +438,7 @@ qed_mfw_get_tlv_time_value(struct qed_mfw_tlv_time *p_time,
438438
return QED_MFW_TLV_TIME_SIZE;
439439
}
440440

441-
static int
441+
static noinline_for_stack int
442442
qed_mfw_get_fcoe_tlv_value(struct qed_drv_tlv_hdr *p_tlv,
443443
struct qed_mfw_tlv_fcoe *p_drv_buf,
444444
struct qed_tlv_parsed_buf *p_buf)
@@ -1073,7 +1073,7 @@ qed_mfw_get_fcoe_tlv_value(struct qed_drv_tlv_hdr *p_tlv,
10731073
return -1;
10741074
}
10751075

1076-
static int
1076+
static noinline_for_stack int
10771077
qed_mfw_get_iscsi_tlv_value(struct qed_drv_tlv_hdr *p_tlv,
10781078
struct qed_mfw_tlv_iscsi *p_drv_buf,
10791079
struct qed_tlv_parsed_buf *p_buf)

drivers/net/usb/qmi_wwan.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1426,6 +1426,7 @@ static const struct usb_device_id products[] = {
14261426
{QMI_QUIRK_SET_DTR(0x22de, 0x9051, 2)}, /* Hucom Wireless HM-211S/K */
14271427
{QMI_FIXED_INTF(0x22de, 0x9061, 3)}, /* WeTelecom WPD-600N */
14281428
{QMI_QUIRK_SET_DTR(0x1e0e, 0x9001, 5)}, /* SIMCom 7100E, 7230E, 7600E ++ */
1429+
{QMI_QUIRK_SET_DTR(0x1e0e, 0x9071, 3)}, /* SIMCom 8230C ++ */
14291430
{QMI_QUIRK_SET_DTR(0x2c7c, 0x0121, 4)}, /* Quectel EC21 Mini PCIe */
14301431
{QMI_QUIRK_SET_DTR(0x2c7c, 0x0191, 4)}, /* Quectel EG91 */
14311432
{QMI_QUIRK_SET_DTR(0x2c7c, 0x0195, 4)}, /* Quectel EG95 */

net/atm/clip.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -193,12 +193,6 @@ static void clip_push(struct atm_vcc *vcc, struct sk_buff *skb)
193193

194194
pr_debug("\n");
195195

196-
if (!clip_devs) {
197-
atm_return(vcc, skb->truesize);
198-
kfree_skb(skb);
199-
return;
200-
}
201-
202196
if (!skb) {
203197
pr_debug("removing VCC %p\n", clip_vcc);
204198
if (clip_vcc->entry)
@@ -208,6 +202,11 @@ static void clip_push(struct atm_vcc *vcc, struct sk_buff *skb)
208202
return;
209203
}
210204
atm_return(vcc, skb->truesize);
205+
if (!clip_devs) {
206+
kfree_skb(skb);
207+
return;
208+
}
209+
211210
skb->dev = clip_vcc->entry ? clip_vcc->entry->neigh->dev : clip_devs;
212211
/* clip_vcc->entry == NULL if we don't have an IP address yet */
213212
if (!skb->dev) {

net/bridge/br_multicast.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2015,10 +2015,19 @@ void br_multicast_port_ctx_init(struct net_bridge_port *port,
20152015

20162016
void br_multicast_port_ctx_deinit(struct net_bridge_mcast_port *pmctx)
20172017
{
2018+
struct net_bridge *br = pmctx->port->br;
2019+
bool del = false;
2020+
20182021
#if IS_ENABLED(CONFIG_IPV6)
20192022
timer_delete_sync(&pmctx->ip6_mc_router_timer);
20202023
#endif
20212024
timer_delete_sync(&pmctx->ip4_mc_router_timer);
2025+
2026+
spin_lock_bh(&br->multicast_lock);
2027+
del |= br_ip6_multicast_rport_del(pmctx);
2028+
del |= br_ip4_multicast_rport_del(pmctx);
2029+
br_multicast_rport_del_notify(pmctx, del);
2030+
spin_unlock_bh(&br->multicast_lock);
20222031
}
20232032

20242033
int br_multicast_add_port(struct net_bridge_port *port)

net/core/netpoll.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,7 @@ int netpoll_send_udp(struct netpoll *np, const char *msg, int len)
425425
udph->dest = htons(np->remote_port);
426426
udph->len = htons(udp_len);
427427

428+
udph->check = 0;
428429
if (np->ipv6) {
429430
udph->check = csum_ipv6_magic(&np->local_ip.in6,
430431
&np->remote_ip.in6,
@@ -453,7 +454,6 @@ int netpoll_send_udp(struct netpoll *np, const char *msg, int len)
453454
skb_reset_mac_header(skb);
454455
skb->protocol = eth->h_proto = htons(ETH_P_IPV6);
455456
} else {
456-
udph->check = 0;
457457
udph->check = csum_tcpudp_magic(np->local_ip.ip,
458458
np->remote_ip.ip,
459459
udp_len, IPPROTO_UDP,

0 commit comments

Comments
 (0)