Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/dev/pci



Module Name:    src
Committed By:   tls
Date:           Sat Sep 19 06:21:40 UTC 2026

Modified Files:
        src/sys/dev/pci: if_ixl.c

Log Message:
Fix link state handling in ixl driver (PR 60736):

1. The admin queue ("ATQ") polling could skip completions if there was
   more than one pending command.  Force ixl_atq_poll()  to go in order
   and simplify by looping around the post_locked and done_locked functions.
   This makes ixl_atq_poll_done() superfluous, so remove that.

2. Add missing "goto out" in ixl_get_link_status() so we return EBUSY
   instead of falling through to cv_timedwait().  This is much
   less likely with fix 1 above but worth fixing anyway.

3. Mostly undo 1.92 - don't block waiting on link in ixl_init(), instead,
   fire off a link status check and ignore the result.  Meanwhile, in
   ixl_init_locked(), enable the hardware link status interrupt.
   Addresses the source of the multiple pending completions that triggered
   problem 1 while still ensuring we get link status at initialization.


To generate a diff of this commit:
cvs rdiff -u -r1.101 -r1.102 src/sys/dev/pci/if_ixl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index