> -----Original Message-----
> From: Paul Menzel <[email protected]>
> Sent: Wednesday, June 17, 2026 11:03 AM
> To: Temerkhanov, Sergey <[email protected]>
> Cc: [email protected]; [email protected]; Loktionov,
> Aleksandr <[email protected]>; Bjorn Helgaas
> <[email protected]>; [email protected]
> Subject: Re: [Intel-wired-lan] [PATCH iwl-next v1] ixgbe: Implement PCI reset
> handler
> 
> [Cc: +Aleksandr (as in Reviewed-by:), +PCI subsystem]
> 
> Dear Sergey,
> 
> 
> Thank you for your patch.
> 
> Am 17.06.26 um 10:43 schrieb Sergey Temerkhanov:
> > Implement PCI device reset handler to allow the network device to get
> > re-initialized and function after a PCI-level reset.
> 
> Please describe the problem in more detail. When does PCI-level reset occur,
> and what is the current problematic situation?

The actual scenario is when a reset is invoked via sysfs during the operation 
and the adapter is not
properly restoring its state thereafter resulting in a TX queue timeout.

> 
> Also, what is ixgbe specific compared to a general PCIe implementation?
> 
> Please share details how to test it, and how you tested it.

The test is simple:
- Run traffic on the adapter
- Initiate reset via sysfs
- Observe TX queue WDT timeout w/o this change

> > +#define IXGBE_PCIE_RESET_RETRIES 1000
> 
> Why 1000? Isn’t there a generic PCIe macro? Please extend the commit
> message.

This is going to be replaced in v2

> > +   if (test_bit(__IXGBE_SERVICE_INITED, &adapter->state)) {
> > +           timer_delete_sync(&adapter->service_timer);
> > +           /* Prevent the service task from running while we're resetting.
> */
> 
> One of the two comments seems redundant.

I am clarifying this in v2. Essentially, the timer callback may queue a work, 
cancel_work_sync()
cancels any instance that may have been already pending.

> 
> > +           cancel_work_sync(&adapter->service_task);
> > +   }
> progress\n");
> 
> How can this happen? What should the user reading this error do?

Under the normal circumstances we should never get here, I am adding a comment 
in v2

> >   static DEFINE_SIMPLE_DEV_PM_OPS(ixgbe_pm_ops, ixgbe_suspend,
> > ixgbe_resume);
> 
> Kind regards,
> 
> Paul

Regards,
Sergey

Reply via email to