mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 01:32:21 +02:00
wifi: ralink: RT2X00: init EEPROM properly
I have an hostapd setup with a 01:00.0 Network controller: Ralink corp. RT2790 Wireless 802.11n 1T/2R PCIe The setup work fine on 6.18.26-gentoo It breaks on 6.18.33-gentoo (and still broken on 6.18.37) I found an hint in dmesg: On 6.18.26-gentoo I see: May 31 15:48:45 trash01 kernel: ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0003 detected On 6.18.33-gentoo I see: May 31 15:22:57 trash01 kernel: ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0006 detected The RF chipset seems badly detected. The problem was the EEPROM which was badly initialized. Probably the origin was in some PCI change but unfortunately I couldn't play to bisect/reboot often the board with this card to do it. Signed-off-by: Corentin Labbe <clabbe@baylibre.com> Acked-by: Stanislaw Gruszka <stf_xl@wp.pl> Link: https://patch.msgid.link/20260703134932.3786771-1-clabbe@baylibre.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
2b0eab425e
commit
0a2581cbae
|
|
@ -1429,7 +1429,7 @@ static irqreturn_t rt2400pci_interrupt(int irq, void *dev_instance)
|
|||
*/
|
||||
static int rt2400pci_validate_eeprom(struct rt2x00_dev *rt2x00dev)
|
||||
{
|
||||
struct eeprom_93cx6 eeprom;
|
||||
struct eeprom_93cx6 eeprom = {};
|
||||
u32 reg;
|
||||
u16 word;
|
||||
u8 *mac;
|
||||
|
|
|
|||
|
|
@ -1555,7 +1555,7 @@ static irqreturn_t rt2500pci_interrupt(int irq, void *dev_instance)
|
|||
*/
|
||||
static int rt2500pci_validate_eeprom(struct rt2x00_dev *rt2x00dev)
|
||||
{
|
||||
struct eeprom_93cx6 eeprom;
|
||||
struct eeprom_93cx6 eeprom = {};
|
||||
u32 reg;
|
||||
u16 word;
|
||||
u8 *mac;
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ static void rt2800pci_eepromregister_write(struct eeprom_93cx6 *eeprom)
|
|||
|
||||
static int rt2800pci_read_eeprom_pci(struct rt2x00_dev *rt2x00dev)
|
||||
{
|
||||
struct eeprom_93cx6 eeprom;
|
||||
struct eeprom_93cx6 eeprom = {};
|
||||
u32 reg;
|
||||
|
||||
reg = rt2x00mmio_register_read(rt2x00dev, E2PROM_CSR);
|
||||
|
|
|
|||
|
|
@ -2298,7 +2298,7 @@ static irqreturn_t rt61pci_interrupt(int irq, void *dev_instance)
|
|||
*/
|
||||
static int rt61pci_validate_eeprom(struct rt2x00_dev *rt2x00dev)
|
||||
{
|
||||
struct eeprom_93cx6 eeprom;
|
||||
struct eeprom_93cx6 eeprom = {};
|
||||
u32 reg;
|
||||
u16 word;
|
||||
u8 *mac;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user