All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27
@ 2021-08-27 20:43 Tony Nguyen
  2021-08-27 20:43 ` [PATCH net 1/5] ice: fix Tx queue iteration for Tx timestamp enablement Tony Nguyen
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Tony Nguyen @ 2021-08-27 20:43 UTC (permalink / raw)
  To: davem, kuba; +Cc: Tony Nguyen, netdev, richardcochran

This series contains updates to ice driver only.

Jake corrects the iterator used for looping Tx timestamp and removes
dead code related to pin configuration. He also adds locking around
flushing of the Tx tracker and restarts the periodic clock following
time changes.

Brett corrects the locking around updating netdev dev_addr.

The following are changes since commit 5fe2a6b4344cbb2120d6d81e371b7ec8e75f03e2:
  Merge tag 'mlx5-fixes-2021-08-26' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue 100GbE

Brett Creeley (1):
  ice: Only lock to update netdev dev_addr

Jacob Keller (4):
  ice: fix Tx queue iteration for Tx timestamp enablement
  ice: remove dead code for allocating pin_config
  ice: add lock around Tx timestamp tracker flush
  ice: restart periodic outputs around time changes

 drivers/net/ethernet/intel/ice/ice_main.c | 13 +++--
 drivers/net/ethernet/intel/ice/ice_ptp.c  | 66 ++++++++++++++++++-----
 2 files changed, 63 insertions(+), 16 deletions(-)

-- 
2.26.2


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH net 1/5] ice: fix Tx queue iteration for Tx timestamp enablement
  2021-08-27 20:43 [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 Tony Nguyen
@ 2021-08-27 20:43 ` Tony Nguyen
  2021-08-27 20:43 ` [PATCH net 2/5] ice: remove dead code for allocating pin_config Tony Nguyen
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Tony Nguyen @ 2021-08-27 20:43 UTC (permalink / raw)
  To: davem, kuba
  Cc: Jacob Keller, netdev, anthony.l.nguyen, richardcochran,
	maciej.machnikowski, Gurucharan G

From: Jacob Keller <jacob.e.keller@intel.com>

The driver accidentally copied the ice_for_each_rxq iterator when
implementing enablement of the ptp_tx bit for the Tx rings. We still
load the Tx rings and set the ptp_tx field, but we iterate over the
count of the num_rxq.

If the number of Tx and Rx queues differ, this could either cause
a buffer overrun when accessing the tx_rings list if num_txq is greater
than num_rxq, or it could cause us to fail to enable Tx timestamps for
some rings.

This was not noticed originally as we generally have the same number of
Tx and Rx queues.

Fixes: ea9b847cda64 ("ice: enable transmit timestamps for E810 devices")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_ptp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
index 9e3ddb9b8b51..f54148fb0e21 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
@@ -22,7 +22,7 @@ static void ice_set_tx_tstamp(struct ice_pf *pf, bool on)
 		return;
 
 	/* Set the timestamp enable flag for all the Tx rings */
-	ice_for_each_rxq(vsi, i) {
+	ice_for_each_txq(vsi, i) {
 		if (!vsi->tx_rings[i])
 			continue;
 		vsi->tx_rings[i]->ptp_tx = on;
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH net 2/5] ice: remove dead code for allocating pin_config
  2021-08-27 20:43 [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 Tony Nguyen
  2021-08-27 20:43 ` [PATCH net 1/5] ice: fix Tx queue iteration for Tx timestamp enablement Tony Nguyen
@ 2021-08-27 20:43 ` Tony Nguyen
  2021-08-28  0:43   ` Jakub Kicinski
  2021-08-27 20:43 ` [PATCH net 3/5] ice: add lock around Tx timestamp tracker flush Tony Nguyen
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Tony Nguyen @ 2021-08-27 20:43 UTC (permalink / raw)
  To: davem, kuba
  Cc: Jacob Keller, netdev, anthony.l.nguyen, richardcochran,
	maciej.machnikowski, Gurucharan G

From: Jacob Keller <jacob.e.keller@intel.com>

We have code in the ice driver which allocates the pin_config structure
if n_pins is > 0, but we never set n_pins to be greater than zero.
There's no reason to keep this code until we actually have pin_config
support. Remove this. We can re-add it properly when we implement
support for pin_config for E810-T devices.

Fixes: 172db5f91d5f ("ice: add support for auxiliary input/output pins")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_ptp.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
index f54148fb0e21..09d74e94feae 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
@@ -1064,17 +1064,6 @@ static long ice_ptp_create_clock(struct ice_pf *pf)
 	info = &pf->ptp.info;
 	dev = ice_pf_to_dev(pf);
 
-	/* Allocate memory for kernel pins interface */
-	if (info->n_pins) {
-		info->pin_config = devm_kcalloc(dev, info->n_pins,
-						sizeof(*info->pin_config),
-						GFP_KERNEL);
-		if (!info->pin_config) {
-			info->n_pins = 0;
-			return -ENOMEM;
-		}
-	}
-
 	/* Attempt to register the clock before enabling the hardware. */
 	clock = ptp_clock_register(info, dev);
 	if (IS_ERR(clock))
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH net 3/5] ice: add lock around Tx timestamp tracker flush
  2021-08-27 20:43 [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 Tony Nguyen
  2021-08-27 20:43 ` [PATCH net 1/5] ice: fix Tx queue iteration for Tx timestamp enablement Tony Nguyen
  2021-08-27 20:43 ` [PATCH net 2/5] ice: remove dead code for allocating pin_config Tony Nguyen
@ 2021-08-27 20:43 ` Tony Nguyen
  2021-08-27 20:43 ` [PATCH net 4/5] ice: restart periodic outputs around time changes Tony Nguyen
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Tony Nguyen @ 2021-08-27 20:43 UTC (permalink / raw)
  To: davem, kuba
  Cc: Jacob Keller, netdev, anthony.l.nguyen, richardcochran,
	maciej.machnikowski, Gurucharan G

From: Jacob Keller <jacob.e.keller@intel.com>

The driver didn't take the lock while flushing the Tx tracker, which
could cause a race where one thread is trying to read timestamps out
while another thread is trying to read the tracker to check the
timestamps.

Avoid this by ensuring that flushing is locked against read accesses.

Fixes: ea9b847cda64 ("ice: enable transmit timestamps for E810 devices")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_ptp.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
index 09d74e94feae..ae0980f14c80 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
@@ -1267,6 +1267,8 @@ ice_ptp_flush_tx_tracker(struct ice_pf *pf, struct ice_ptp_tx *tx)
 {
 	u8 idx;
 
+	spin_lock(&tx->lock);
+
 	for (idx = 0; idx < tx->len; idx++) {
 		u8 phy_idx = idx + tx->quad_offset;
 
@@ -1279,6 +1281,8 @@ ice_ptp_flush_tx_tracker(struct ice_pf *pf, struct ice_ptp_tx *tx)
 			tx->tstamps[idx].skb = NULL;
 		}
 	}
+
+	spin_unlock(&tx->lock);
 }
 
 /**
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH net 4/5] ice: restart periodic outputs around time changes
  2021-08-27 20:43 [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 Tony Nguyen
                   ` (2 preceding siblings ...)
  2021-08-27 20:43 ` [PATCH net 3/5] ice: add lock around Tx timestamp tracker flush Tony Nguyen
@ 2021-08-27 20:43 ` Tony Nguyen
  2021-08-27 20:43 ` [PATCH net 5/5] ice: Only lock to update netdev dev_addr Tony Nguyen
  2021-08-28 11:40 ` [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 patchwork-bot+netdevbpf
  5 siblings, 0 replies; 9+ messages in thread
From: Tony Nguyen @ 2021-08-27 20:43 UTC (permalink / raw)
  To: davem, kuba
  Cc: Jacob Keller, netdev, anthony.l.nguyen, richardcochran,
	maciej.machnikowski, Sunitha D Mekala

From: Jacob Keller <jacob.e.keller@intel.com>

When we enabled auxiliary input/output support for the E810 device, we
forgot to add logic to restart the output when we change time. This is
important as the periodic output will be incorrect after a time change
otherwise.

This unfortunately includes the adjust time function, even though it
uses an atomic hardware interface. The atomic adjustment can still cause
the pin output to stall permanently, so we need to stop and restart it.

Introduce wrapper functions to temporarily disable and then re-enable
the clock outputs.

Fixes: 172db5f91d5f ("ice: add support for auxiliary input/output pins")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Sunitha D Mekala <sunithax.d.mekala@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_ptp.c | 49 ++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
index ae0980f14c80..05cc5870e4ef 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
@@ -688,6 +688,41 @@ static int ice_ptp_cfg_clkout(struct ice_pf *pf, unsigned int chan,
 	return -EFAULT;
 }
 
+/**
+ * ice_ptp_disable_all_clkout - Disable all currently configured outputs
+ * @pf: pointer to the PF structure
+ *
+ * Disable all currently configured clock outputs. This is necessary before
+ * certain changes to the PTP hardware clock. Use ice_ptp_enable_all_clkout to
+ * re-enable the clocks again.
+ */
+static void ice_ptp_disable_all_clkout(struct ice_pf *pf)
+{
+	uint i;
+
+	for (i = 0; i < pf->ptp.info.n_per_out; i++)
+		if (pf->ptp.perout_channels[i].ena)
+			ice_ptp_cfg_clkout(pf, i, NULL, false);
+}
+
+/**
+ * ice_ptp_enable_all_clkout - Enable all configured periodic clock outputs
+ * @pf: pointer to the PF structure
+ *
+ * Enable all currently configured clock outputs. Use this after
+ * ice_ptp_disable_all_clkout to reconfigure the output signals according to
+ * their configuration.
+ */
+static void ice_ptp_enable_all_clkout(struct ice_pf *pf)
+{
+	uint i;
+
+	for (i = 0; i < pf->ptp.info.n_per_out; i++)
+		if (pf->ptp.perout_channels[i].ena)
+			ice_ptp_cfg_clkout(pf, i, &pf->ptp.perout_channels[i],
+					   false);
+}
+
 /**
  * ice_ptp_gpio_enable_e810 - Enable/disable ancillary features of PHC
  * @info: the driver's PTP info structure
@@ -783,12 +818,17 @@ ice_ptp_settime64(struct ptp_clock_info *info, const struct timespec64 *ts)
 		goto exit;
 	}
 
+	/* Disable periodic outputs */
+	ice_ptp_disable_all_clkout(pf);
+
 	err = ice_ptp_write_init(pf, &ts64);
 	ice_ptp_unlock(hw);
 
 	if (!err)
 		ice_ptp_update_cached_phctime(pf);
 
+	/* Reenable periodic outputs */
+	ice_ptp_enable_all_clkout(pf);
 exit:
 	if (err) {
 		dev_err(ice_pf_to_dev(pf), "PTP failed to set time %d\n", err);
@@ -842,8 +882,14 @@ static int ice_ptp_adjtime(struct ptp_clock_info *info, s64 delta)
 		return -EBUSY;
 	}
 
+	/* Disable periodic outputs */
+	ice_ptp_disable_all_clkout(pf);
+
 	err = ice_ptp_write_adj(pf, delta);
 
+	/* Reenable periodic outputs */
+	ice_ptp_enable_all_clkout(pf);
+
 	ice_ptp_unlock(hw);
 
 	if (err) {
@@ -1543,6 +1589,9 @@ void ice_ptp_release(struct ice_pf *pf)
 	if (!pf->ptp.clock)
 		return;
 
+	/* Disable periodic outputs */
+	ice_ptp_disable_all_clkout(pf);
+
 	ice_clear_ptp_clock_index(pf);
 	ptp_clock_unregister(pf->ptp.clock);
 	pf->ptp.clock = NULL;
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH net 5/5] ice: Only lock to update netdev dev_addr
  2021-08-27 20:43 [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 Tony Nguyen
                   ` (3 preceding siblings ...)
  2021-08-27 20:43 ` [PATCH net 4/5] ice: restart periodic outputs around time changes Tony Nguyen
@ 2021-08-27 20:43 ` Tony Nguyen
  2021-08-28 11:40 ` [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 patchwork-bot+netdevbpf
  5 siblings, 0 replies; 9+ messages in thread
From: Tony Nguyen @ 2021-08-27 20:43 UTC (permalink / raw)
  To: davem, kuba
  Cc: Brett Creeley, netdev, anthony.l.nguyen, richardcochran, Gurucharan G

From: Brett Creeley <brett.creeley@intel.com>

commit 3ba7f53f8bf1 ("ice: don't remove netdev->dev_addr from uc sync
list") introduced calls to netif_addr_lock_bh() and
netif_addr_unlock_bh() in the driver's ndo_set_mac() callback. This is
fine since the driver is updated the netdev's dev_addr, but since this
is a spinlock, the driver cannot sleep when the lock is held.
Unfortunately the functions to add/delete MAC filters depend on a mutex.
This was causing a trace with the lock debug kernel config options
enabled when changing the mac address via iproute.

[  203.273059] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:281
[  203.273065] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 6698, name: ip
[  203.273068] Preemption disabled at:
[  203.273068] [<ffffffffc04aaeab>] ice_set_mac_address+0x8b/0x1c0 [ice]
[  203.273097] CPU: 31 PID: 6698 Comm: ip Tainted: G S      W I       5.14.0-rc4 #2
[  203.273100] Hardware name: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0010.010620200716 01/06/2020
[  203.273102] Call Trace:
[  203.273107]  dump_stack_lvl+0x33/0x42
[  203.273113]  ? ice_set_mac_address+0x8b/0x1c0 [ice]
[  203.273124]  ___might_sleep.cold.150+0xda/0xea
[  203.273131]  mutex_lock+0x1c/0x40
[  203.273136]  ice_remove_mac+0xe3/0x180 [ice]
[  203.273155]  ? ice_fltr_add_mac_list+0x20/0x20 [ice]
[  203.273175]  ice_fltr_prepare_mac+0x43/0xa0 [ice]
[  203.273194]  ice_set_mac_address+0xab/0x1c0 [ice]
[  203.273206]  dev_set_mac_address+0xb8/0x120
[  203.273210]  dev_set_mac_address_user+0x2c/0x50
[  203.273212]  do_setlink+0x1dd/0x10e0
[  203.273217]  ? __nla_validate_parse+0x12d/0x1a0
[  203.273221]  __rtnl_newlink+0x530/0x910
[  203.273224]  ? __kmalloc_node_track_caller+0x17f/0x380
[  203.273230]  ? preempt_count_add+0x68/0xa0
[  203.273236]  ? _raw_spin_lock_irqsave+0x1f/0x30
[  203.273241]  ? kmem_cache_alloc_trace+0x4d/0x440
[  203.273244]  rtnl_newlink+0x43/0x60
[  203.273245]  rtnetlink_rcv_msg+0x13a/0x380
[  203.273248]  ? rtnl_calcit.isra.40+0x130/0x130
[  203.273250]  netlink_rcv_skb+0x4e/0x100
[  203.273256]  netlink_unicast+0x1a2/0x280
[  203.273258]  netlink_sendmsg+0x242/0x490
[  203.273260]  sock_sendmsg+0x58/0x60
[  203.273263]  ____sys_sendmsg+0x1ef/0x260
[  203.273265]  ? copy_msghdr_from_user+0x5c/0x90
[  203.273268]  ? ____sys_recvmsg+0xe6/0x170
[  203.273270]  ___sys_sendmsg+0x7c/0xc0
[  203.273272]  ? copy_msghdr_from_user+0x5c/0x90
[  203.273274]  ? ___sys_recvmsg+0x89/0xc0
[  203.273276]  ? __netlink_sendskb+0x50/0x50
[  203.273278]  ? mod_objcg_state+0xee/0x310
[  203.273282]  ? __dentry_kill+0x114/0x170
[  203.273286]  ? get_max_files+0x10/0x10
[  203.273288]  __sys_sendmsg+0x57/0xa0
[  203.273290]  do_syscall_64+0x37/0x80
[  203.273295]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[  203.273296] RIP: 0033:0x7f8edf96e278
[  203.273298] Code: 89 02 48 c7 c0 ff ff ff ff eb b5 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 8d 05 25 63 2c 00 8b 00 85 c0 75 17 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 41 54 41 89 d4 55
[  203.273300] RSP: 002b:00007ffcb8bdac08 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
[  203.273303] RAX: ffffffffffffffda RBX: 000000006115e0ae RCX: 00007f8edf96e278
[  203.273304] RDX: 0000000000000000 RSI: 00007ffcb8bdac70 RDI: 0000000000000003
[  203.273305] RBP: 0000000000000000 R08: 0000000000000001 R09: 00007ffcb8bda5b0
[  203.273306] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
[  203.273306] R13: 0000555e10092020 R14: 0000000000000000 R15: 0000000000000005

Fix this by only locking when changing the netdev->dev_addr. Also, make
sure to restore the old netdev->dev_addr on any failures.

Fixes: 3ba7f53f8bf1 ("ice: don't remove netdev->dev_addr from uc sync list")
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_main.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index fe2ded775f25..a8bd512d5b45 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -5122,6 +5122,7 @@ static int ice_set_mac_address(struct net_device *netdev, void *pi)
 	struct ice_hw *hw = &pf->hw;
 	struct sockaddr *addr = pi;
 	enum ice_status status;
+	u8 old_mac[ETH_ALEN];
 	u8 flags = 0;
 	int err = 0;
 	u8 *mac;
@@ -5144,8 +5145,13 @@ static int ice_set_mac_address(struct net_device *netdev, void *pi)
 	}
 
 	netif_addr_lock_bh(netdev);
+	ether_addr_copy(old_mac, netdev->dev_addr);
+	/* change the netdev's MAC address */
+	memcpy(netdev->dev_addr, mac, netdev->addr_len);
+	netif_addr_unlock_bh(netdev);
+
 	/* Clean up old MAC filter. Not an error if old filter doesn't exist */
-	status = ice_fltr_remove_mac(vsi, netdev->dev_addr, ICE_FWD_TO_VSI);
+	status = ice_fltr_remove_mac(vsi, old_mac, ICE_FWD_TO_VSI);
 	if (status && status != ICE_ERR_DOES_NOT_EXIST) {
 		err = -EADDRNOTAVAIL;
 		goto err_update_filters;
@@ -5168,13 +5174,12 @@ static int ice_set_mac_address(struct net_device *netdev, void *pi)
 	if (err) {
 		netdev_err(netdev, "can't set MAC %pM. filter update failed\n",
 			   mac);
+		netif_addr_lock_bh(netdev);
+		ether_addr_copy(netdev->dev_addr, old_mac);
 		netif_addr_unlock_bh(netdev);
 		return err;
 	}
 
-	/* change the netdev's MAC address */
-	memcpy(netdev->dev_addr, mac, netdev->addr_len);
-	netif_addr_unlock_bh(netdev);
 	netdev_dbg(vsi->netdev, "updated MAC address to %pM\n",
 		   netdev->dev_addr);
 
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH net 2/5] ice: remove dead code for allocating pin_config
  2021-08-27 20:43 ` [PATCH net 2/5] ice: remove dead code for allocating pin_config Tony Nguyen
@ 2021-08-28  0:43   ` Jakub Kicinski
  2021-08-30 19:21     ` Keller, Jacob E
  0 siblings, 1 reply; 9+ messages in thread
From: Jakub Kicinski @ 2021-08-28  0:43 UTC (permalink / raw)
  To: Tony Nguyen
  Cc: davem, Jacob Keller, netdev, richardcochran, maciej.machnikowski,
	Gurucharan G

On Fri, 27 Aug 2021 13:43:55 -0700 Tony Nguyen wrote:
> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> We have code in the ice driver which allocates the pin_config structure
> if n_pins is > 0, but we never set n_pins to be greater than zero.
> There's no reason to keep this code until we actually have pin_config
> support. Remove this. We can re-add it properly when we implement
> support for pin_config for E810-T devices.
> 
> Fixes: 172db5f91d5f ("ice: add support for auxiliary input/output pins")
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Tested-by: Gurucharan G <gurucharanx.g@intel.com>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>

Removing dead code is not really a fix. Let's see if Linus cuts 5.14
this weekend, in which case it won't matter.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27
  2021-08-27 20:43 [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 Tony Nguyen
                   ` (4 preceding siblings ...)
  2021-08-27 20:43 ` [PATCH net 5/5] ice: Only lock to update netdev dev_addr Tony Nguyen
@ 2021-08-28 11:40 ` patchwork-bot+netdevbpf
  5 siblings, 0 replies; 9+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-08-28 11:40 UTC (permalink / raw)
  To: Nguyen, Anthony L; +Cc: davem, kuba, netdev, richardcochran

Hello:

This series was applied to netdev/net.git (refs/heads/master):

On Fri, 27 Aug 2021 13:43:53 -0700 you wrote:
> This series contains updates to ice driver only.
> 
> Jake corrects the iterator used for looping Tx timestamp and removes
> dead code related to pin configuration. He also adds locking around
> flushing of the Tx tracker and restarts the periodic clock following
> time changes.
> 
> [...]

Here is the summary with links:
  - [net,1/5] ice: fix Tx queue iteration for Tx timestamp enablement
    https://git.kernel.org/netdev/net/c/84c5fb8c4264
  - [net,2/5] ice: remove dead code for allocating pin_config
    https://git.kernel.org/netdev/net/c/1f0cbb3e8916
  - [net,3/5] ice: add lock around Tx timestamp tracker flush
    https://git.kernel.org/netdev/net/c/4dd0d5c33c3e
  - [net,4/5] ice: restart periodic outputs around time changes
    https://git.kernel.org/netdev/net/c/9ee313433c48
  - [net,5/5] ice: Only lock to update netdev dev_addr
    https://git.kernel.org/netdev/net/c/b357d9717be7

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [PATCH net 2/5] ice: remove dead code for allocating pin_config
  2021-08-28  0:43   ` Jakub Kicinski
@ 2021-08-30 19:21     ` Keller, Jacob E
  0 siblings, 0 replies; 9+ messages in thread
From: Keller, Jacob E @ 2021-08-30 19:21 UTC (permalink / raw)
  To: Jakub Kicinski, Nguyen, Anthony L
  Cc: davem, netdev, richardcochran, Machnikowski, Maciej, G, GurucharanX



> -----Original Message-----
> From: Jakub Kicinski <kuba@kernel.org>
> Sent: Friday, August 27, 2021 5:44 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>
> Cc: davem@davemloft.net; Keller, Jacob E <jacob.e.keller@intel.com>;
> netdev@vger.kernel.org; richardcochran@gmail.com; Machnikowski, Maciej
> <maciej.machnikowski@intel.com>; G, GurucharanX <gurucharanx.g@intel.com>
> Subject: Re: [PATCH net 2/5] ice: remove dead code for allocating pin_config
> 
> On Fri, 27 Aug 2021 13:43:55 -0700 Tony Nguyen wrote:
> > From: Jacob Keller <jacob.e.keller@intel.com>
> >
> > We have code in the ice driver which allocates the pin_config structure
> > if n_pins is > 0, but we never set n_pins to be greater than zero.
> > There's no reason to keep this code until we actually have pin_config
> > support. Remove this. We can re-add it properly when we implement
> > support for pin_config for E810-T devices.
> >
> > Fixes: 172db5f91d5f ("ice: add support for auxiliary input/output pins")
> > Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> > Tested-by: Gurucharan G <gurucharanx.g@intel.com>
> > Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
> 
> Removing dead code is not really a fix. Let's see if Linus cuts 5.14
> this weekend, in which case it won't matter.

It's a fix in my mind because the code was included in the original due to a mishandled rebase when working on series of patches. But yea, from outside that context its not really a fix since it doesn't change things from an external perspective.

Thanks,
Jake

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-08-30 19:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-27 20:43 [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 Tony Nguyen
2021-08-27 20:43 ` [PATCH net 1/5] ice: fix Tx queue iteration for Tx timestamp enablement Tony Nguyen
2021-08-27 20:43 ` [PATCH net 2/5] ice: remove dead code for allocating pin_config Tony Nguyen
2021-08-28  0:43   ` Jakub Kicinski
2021-08-30 19:21     ` Keller, Jacob E
2021-08-27 20:43 ` [PATCH net 3/5] ice: add lock around Tx timestamp tracker flush Tony Nguyen
2021-08-27 20:43 ` [PATCH net 4/5] ice: restart periodic outputs around time changes Tony Nguyen
2021-08-27 20:43 ` [PATCH net 5/5] ice: Only lock to update netdev dev_addr Tony Nguyen
2021-08-28 11:40 ` [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2021-08-27 patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.