From: "Jiawen Wu" <jiawenwu@trustnetic.com>
To: "'Larysa Zaremba'" <larysa.zaremba@intel.com>
Cc: netdev@vger.kernel.org,
"'Mengyuan Lou'" <mengyuanlou@net-swift.com>,
"'Andrew Lunn'" <andrew+netdev@lunn.ch>,
"'David S. Miller'" <davem@davemloft.net>,
"'Eric Dumazet'" <edumazet@google.com>,
"'Jakub Kicinski'" <kuba@kernel.org>,
"'Paolo Abeni'" <pabeni@redhat.com>,
"'Richard Cochran'" <richardcochran@gmail.com>,
"'Russell King'" <linux@armlinux.org.uk>,
"'Jacob Keller'" <jacob.e.keller@intel.com>,
"'Michal Swiatkowski'" <michal.swiatkowski@linux.intel.com>,
"'Simon Horman'" <horms@kernel.org>,
"'Kees Cook'" <kees@kernel.org>,
"'Ingo Molnar'" <mingo@kernel.org>, "'Joe Damato'" <joe@dama.to>,
"'Breno Leitao'" <leitao@debian.org>,
"'Aleksandr Loktionov'" <aleksandr.loktionov@intel.com>,
"'Uwe Kleine-König (The Capable Hub)'"
<u.kleine-koenig@baylibre.com>,
"'Johannes Berg'" <johannes@sipsolutions.net>,
"'Fabio Baltieri'" <fabio.baltieri@gmail.com>,
netdev@vger.kernel.org,
"'Mengyuan Lou'" <mengyuanlou@net-swift.com>,
"'Andrew Lunn'" <andrew+netdev@lunn.ch>,
"'David S. Miller'" <davem@davemloft.net>,
"'Eric Dumazet'" <edumazet@google.com>,
"'Jakub Kicinski'" <kuba@kernel.org>,
"'Paolo Abeni'" <pabeni@redhat.com>,
"'Richard Cochran'" <richardcochran@gmail.com>,
"'Russell King'" <linux@armlinux.org.uk>,
"'Jacob Keller'" <jacob.e.keller@intel.com>,
"'Michal Swiatkowski'" <michal.swiatkowski@linux.intel.com>,
"'Simon Horman'" <horms@kernel.org>,
"'Kees Cook'" <kees@kernel.org>,
"'Ingo Molnar'" <mingo@kernel.org>, "'Joe Damato'" <joe@dama.to>,
"'Breno Leitao'" <leitao@debian.org>,
"'Aleksandr Loktionov'" <aleksandr.loktionov@intel.com>,
"'Uwe Kleine-König (The Capable Hub)'"
<u.kleine-koenig@baylibre.com>,
"'Johannes Berg'" <johannes@sipsolutions.net>,
"'Fabio Baltieri'" <fabio.baltieri@gmail.com>
Subject: RE: [PATCH net-next v4 5/5] net: wangxun: implement pci_error_handlers ops
Date: Wed, 3 Jun 2026 10:51:28 +0800 [thread overview]
Message-ID: <095a01dcf303$e03d08a0$a0b719e0$@trustnetic.com> (raw)
In-Reply-To: <ah6-x9CJHwxh_3Qt@soc-5CG4396X81.clients.intel.com>
On Tue, Jun 2, 2026 7:30 PM, Larysa Zaremba wrote:
> On Mon, Jun 01, 2026 at 03:22:21PM +0800, Jiawen Wu wrote:
> > Support AER driver to handle the PCIe errors.
> >
> > Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
> > ---
> > drivers/net/ethernet/wangxun/libwx/wx_err.c | 111 ++++++++++++++++++
> > drivers/net/ethernet/wangxun/libwx/wx_err.h | 2 +
> > drivers/net/ethernet/wangxun/libwx/wx_type.h | 1 +
> > drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 9 +-
> > .../net/ethernet/wangxun/txgbe/txgbe_main.c | 8 +-
> > 5 files changed, 127 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/wangxun/libwx/wx_err.c b/drivers/net/ethernet/wangxun/libwx/wx_err.c
> > index e249cea874be..ae5d14071f3d 100644
> > --- a/drivers/net/ethernet/wangxun/libwx/wx_err.c
> > +++ b/drivers/net/ethernet/wangxun/libwx/wx_err.c
> > @@ -4,11 +4,122 @@
> >
> > #include <linux/netdevice.h>
> > #include <linux/pci.h>
> > +#include <linux/aer.h>
> >
> > #include "wx_type.h"
> > #include "wx_lib.h"
> > #include "wx_err.h"
> >
> > +/**
> > + * wx_io_error_detected - called when PCI error is detected
> > + * @pdev: Pointer to PCI device
> > + * @state: The current pci connection state
> > + *
> > + * Return: pci_ers_result_t.
> > + *
> > + * This function is called after a PCI bus error affecting
> > + * this device has been detected.
> > + */
> > +static pci_ers_result_t wx_io_error_detected(struct pci_dev *pdev,
> > + pci_channel_state_t state)
> > +{
> > + struct wx *wx = pci_get_drvdata(pdev);
> > + struct net_device *netdev;
> > +
> > + if (!wx)
> > + return PCI_ERS_RESULT_DISCONNECT;
> > +
> > + netdev = wx->netdev;
> > + if (!netif_device_present(netdev))
> > + return PCI_ERS_RESULT_DISCONNECT;
> > +
> > + if (state == pci_channel_io_perm_failure)
> > + return PCI_ERS_RESULT_DISCONNECT;
> > +
> > + rtnl_lock();
> > + netif_device_detach(netdev);
>
> Sashiko says:
>
> "Calling netif_device_detach() stops new packets from entering the TX queue but
> doesn't wait for currently executing ndo_start_xmit operations to complete,
> which netif_tx_disable() would do."
>
> Device detaching does not grab __netif_tx_lock(), so it does seem like
> netif_device_detach() leaves some race possibilities.
netif_tx_disable() is missed in soft_quiesce(). I'll add it.
prev parent reply other threads:[~2026-06-03 2:52 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-01 7:22 [PATCH net-next v4 0/5] net: wangxun: timeout and error Jiawen Wu
2026-06-01 7:22 ` [PATCH net-next v4 1/5] net: ngbe: implement libwx reset ops Jiawen Wu
2026-06-02 10:13 ` Larysa Zaremba
2026-06-01 7:22 ` [PATCH net-next v4 2/5] net: wangxun: add Tx timeout process Jiawen Wu
2026-06-01 9:26 ` Loktionov, Aleksandr
2026-06-02 10:32 ` Larysa Zaremba
2026-06-03 2:22 ` Jiawen Wu
2026-06-01 7:22 ` [PATCH net-next v4 3/5] net: wangxun: add reinit parameter to wx->do_reset callback Jiawen Wu
2026-06-01 9:05 ` Loktionov, Aleksandr
2026-06-01 7:22 ` [PATCH net-next v4 4/5] net: wangxun: introduce soft quiesce callbacks for AER recovery Jiawen Wu
2026-06-01 9:32 ` Loktionov, Aleksandr
2026-06-01 9:37 ` Jiawen Wu
2026-06-01 10:09 ` Loktionov, Aleksandr
2026-06-02 2:12 ` Jiawen Wu
2026-06-02 11:16 ` Larysa Zaremba
2026-06-03 2:45 ` Jiawen Wu
2026-06-01 7:22 ` [PATCH net-next v4 5/5] net: wangxun: implement pci_error_handlers ops Jiawen Wu
2026-06-01 9:37 ` Loktionov, Aleksandr
2026-06-02 2:28 ` Jiawen Wu
2026-06-02 11:30 ` Larysa Zaremba
2026-06-03 2:51 ` Jiawen Wu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='095a01dcf303$e03d08a0$a0b719e0$@trustnetic.com' \
--to=jiawenwu@trustnetic.com \
--cc=aleksandr.loktionov@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=fabio.baltieri@gmail.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=joe@dama.to \
--cc=johannes@sipsolutions.net \
--cc=kees@kernel.org \
--cc=kuba@kernel.org \
--cc=larysa.zaremba@intel.com \
--cc=leitao@debian.org \
--cc=linux@armlinux.org.uk \
--cc=mengyuanlou@net-swift.com \
--cc=michal.swiatkowski@linux.intel.com \
--cc=mingo@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=u.kleine-koenig@baylibre.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox