I found this problem with Claude. The proposed fixed worked and made my card working again:
Key points:
Hardware: Edimax EN-9320SFP+ (1fc9:4022 / 1432:8103)
Symptom: "PHY init failed" despite correct PCI ID in bdx_dev_tbl
Root cause: short subdev in struct bdx_device_descr (tn40.h) overflows for 0x8103 = 33027 > 32767
Fix: change short vid/pid/subdev to u16 in tn40.h
The diff for this would be:
diff struct bdx_device_descr {
- short vid;
- short pid;
- short subdev;
- u16 vid;
- u16 pid;
- u16 subdev;
enum PHY_TYPE phy_type;
char *name;
};
I found this problem with Claude. The proposed fixed worked and made my card working again:
Key points:
Hardware: Edimax EN-9320SFP+ (1fc9:4022 / 1432:8103)
Symptom: "PHY init failed" despite correct PCI ID in bdx_dev_tbl
Root cause: short subdev in struct bdx_device_descr (tn40.h) overflows for 0x8103 = 33027 > 32767
Fix: change short vid/pid/subdev to u16 in tn40.h
The diff for this would be:
diff struct bdx_device_descr {
enum PHY_TYPE phy_type;
char *name;
};