Previously we did not call INIT_KFIFO() for aer_fifo. This leads to
kfifo_put() sometimes returning 0 (queue full) when in fact it is not.
It is easy to reproduce the problem by using aer-inject:
$ aer-inject -s :82:00.0 multiple-corr-nonfatal
The content of the multiple-corr-nonfatal file is as below:
AER
COR RCVR
HL 0 1 2 3
AER
UNCOR POISON_TLP
HL 4 5 6 7
Fixes:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| aer.c | ||
| aer_inject.c | ||
| aspm.c | ||
| bw_notification.c | ||
| dpc.c | ||
| err.c | ||
| pme.c | ||
| portdrv.h | ||
| portdrv_core.c | ||
| portdrv_pci.c | ||
| ptm.c | ||