Skip to content

Commit 654de42

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Merge in late fixes to prepare for the 6.10 net-next PR. Signed-off-by: Jakub Kicinski <[email protected]>
2 parents dc9dfd8 + aea27a9 commit 654de42

File tree

36 files changed

+436
-296
lines changed

36 files changed

+436
-296
lines changed

drivers/dpll/dpll_core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ static int dpll_pin_prop_dup(const struct dpll_pin_properties *src,
449449
sizeof(*src->freq_supported);
450450
dst->freq_supported = kmemdup(src->freq_supported,
451451
freq_size, GFP_KERNEL);
452-
if (!src->freq_supported)
452+
if (!dst->freq_supported)
453453
return -ENOMEM;
454454
}
455455
if (src->board_label) {

drivers/net/ethernet/cortina/gemini.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,10 +1107,13 @@ static void gmac_tx_irq_enable(struct net_device *netdev,
11071107
{
11081108
struct gemini_ethernet_port *port = netdev_priv(netdev);
11091109
struct gemini_ethernet *geth = port->geth;
1110+
unsigned long flags;
11101111
u32 val, mask;
11111112

11121113
netdev_dbg(netdev, "%s device %d\n", __func__, netdev->dev_id);
11131114

1115+
spin_lock_irqsave(&geth->irq_lock, flags);
1116+
11141117
mask = GMAC0_IRQ0_TXQ0_INTS << (6 * netdev->dev_id + txq);
11151118

11161119
if (en)
@@ -1119,6 +1122,8 @@ static void gmac_tx_irq_enable(struct net_device *netdev,
11191122
val = readl(geth->base + GLOBAL_INTERRUPT_ENABLE_0_REG);
11201123
val = en ? val | mask : val & ~mask;
11211124
writel(val, geth->base + GLOBAL_INTERRUPT_ENABLE_0_REG);
1125+
1126+
spin_unlock_irqrestore(&geth->irq_lock, flags);
11221127
}
11231128

11241129
static void gmac_tx_irq(struct net_device *netdev, unsigned int txq_num)
@@ -1415,15 +1420,19 @@ static unsigned int gmac_rx(struct net_device *netdev, unsigned int budget)
14151420
union gmac_rxdesc_3 word3;
14161421
struct page *page = NULL;
14171422
unsigned int page_offs;
1423+
unsigned long flags;
14181424
unsigned short r, w;
14191425
union dma_rwptr rw;
14201426
dma_addr_t mapping;
14211427
int frag_nr = 0;
14221428

1429+
spin_lock_irqsave(&geth->irq_lock, flags);
14231430
rw.bits32 = readl(ptr_reg);
14241431
/* Reset interrupt as all packages until here are taken into account */
14251432
writel(DEFAULT_Q0_INT_BIT << netdev->dev_id,
14261433
geth->base + GLOBAL_INTERRUPT_STATUS_1_REG);
1434+
spin_unlock_irqrestore(&geth->irq_lock, flags);
1435+
14271436
r = rw.bits.rptr;
14281437
w = rw.bits.wptr;
14291438

@@ -1726,10 +1735,9 @@ static irqreturn_t gmac_irq(int irq, void *data)
17261735
gmac_update_hw_stats(netdev);
17271736

17281737
if (val & (GMAC0_RX_OVERRUN_INT_BIT << (netdev->dev_id * 8))) {
1738+
spin_lock(&geth->irq_lock);
17291739
writel(GMAC0_RXDERR_INT_BIT << (netdev->dev_id * 8),
17301740
geth->base + GLOBAL_INTERRUPT_STATUS_4_REG);
1731-
1732-
spin_lock(&geth->irq_lock);
17331741
u64_stats_update_begin(&port->ir_stats_syncp);
17341742
++port->stats.rx_fifo_errors;
17351743
u64_stats_update_end(&port->ir_stats_syncp);

drivers/net/ethernet/freescale/fec_main.c

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3674,29 +3674,6 @@ fec_set_mac_address(struct net_device *ndev, void *p)
36743674
return 0;
36753675
}
36763676

3677-
#ifdef CONFIG_NET_POLL_CONTROLLER
3678-
/**
3679-
* fec_poll_controller - FEC Poll controller function
3680-
* @dev: The FEC network adapter
3681-
*
3682-
* Polled functionality used by netconsole and others in non interrupt mode
3683-
*
3684-
*/
3685-
static void fec_poll_controller(struct net_device *dev)
3686-
{
3687-
int i;
3688-
struct fec_enet_private *fep = netdev_priv(dev);
3689-
3690-
for (i = 0; i < FEC_IRQ_NUM; i++) {
3691-
if (fep->irq[i] > 0) {
3692-
disable_irq(fep->irq[i]);
3693-
fec_enet_interrupt(fep->irq[i], dev);
3694-
enable_irq(fep->irq[i]);
3695-
}
3696-
}
3697-
}
3698-
#endif
3699-
37003677
static inline void fec_enet_set_netdev_features(struct net_device *netdev,
37013678
netdev_features_t features)
37023679
{
@@ -4003,9 +3980,6 @@ static const struct net_device_ops fec_netdev_ops = {
40033980
.ndo_tx_timeout = fec_timeout,
40043981
.ndo_set_mac_address = fec_set_mac_address,
40053982
.ndo_eth_ioctl = phy_do_ioctl_running,
4006-
#ifdef CONFIG_NET_POLL_CONTROLLER
4007-
.ndo_poll_controller = fec_poll_controller,
4008-
#endif
40093983
.ndo_set_features = fec_set_features,
40103984
.ndo_bpf = fec_enet_bpf,
40113985
.ndo_xdp_xmit = fec_enet_xdp_xmit,

drivers/net/ethernet/intel/ice/ice_ddp.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1434,14 +1434,14 @@ ice_dwnld_sign_and_cfg_segs(struct ice_hw *hw, struct ice_pkg_hdr *pkg_hdr,
14341434
goto exit;
14351435
}
14361436

1437-
conf_idx = le32_to_cpu(seg->signed_seg_idx);
1438-
start = le32_to_cpu(seg->signed_buf_start);
14391437
count = le32_to_cpu(seg->signed_buf_count);
1440-
14411438
state = ice_download_pkg_sig_seg(hw, seg);
1442-
if (state)
1439+
if (state || !count)
14431440
goto exit;
14441441

1442+
conf_idx = le32_to_cpu(seg->signed_seg_idx);
1443+
start = le32_to_cpu(seg->signed_buf_start);
1444+
14451445
state = ice_download_pkg_config_seg(hw, pkg_hdr, conf_idx, start,
14461446
count);
14471447

0 commit comments

Comments
 (0)