When the device is removed all allocated resources should be freed.
In uhdlc_memclean the netdev transmit queue was already stopped. But at
this point we may have pending skb in the transmit queue which must be
freed. Therefore iterate over the tx_skbuff pointers and free all
pending skb. The issue was discovered by sashiko.
Tested on a ls1043a board running HDLC in bus mode on kernel 6.12.
https: //sashiko.dev/#/patchset/20260429114208.941011-1-holger.brunck%40hitachienergy.com
Fixes:
|
||
|---|---|---|
| .. | ||
| framer | ||
| .gitignore | ||
| Kconfig | ||
| Makefile | ||
| c101.c | ||
| farsync.c | ||
| farsync.h | ||
| fsl_qmc_hdlc.c | ||
| fsl_ucc_hdlc.c | ||
| fsl_ucc_hdlc.h | ||
| hd64570.c | ||
| hd64570.h | ||
| hd64572.c | ||
| hd64572.h | ||
| hdlc.c | ||
| hdlc_cisco.c | ||
| hdlc_fr.c | ||
| hdlc_ppp.c | ||
| hdlc_raw.c | ||
| hdlc_raw_eth.c | ||
| hdlc_x25.c | ||
| ixp4xx_hss.c | ||
| lapbether.c | ||
| n2.c | ||
| pc300too.c | ||
| pci200syn.c | ||
| slic_ds26522.c | ||
| slic_ds26522.h | ||
| wanxl.c | ||
| wanxl.h | ||
| wanxlfw.S | ||
| wanxlfw.inc_shipped | ||