diff options
Diffstat (limited to 'drivers/net/wireless/b43legacy/main.c')
-rw-r--r-- | drivers/net/wireless/b43legacy/main.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wireless/b43legacy/main.c index b166a6f9f055..1d9223b3d4c4 100644 --- a/drivers/net/wireless/b43legacy/main.c +++ b/drivers/net/wireless/b43legacy/main.c | |||
@@ -3106,16 +3106,20 @@ static void b43legacy_imcfglo_timeouts_workaround(struct b43legacy_wldev *dev) | |||
3106 | bus->pcicore.dev->id.revision <= 5) { | 3106 | bus->pcicore.dev->id.revision <= 5) { |
3107 | /* IMCFGLO timeouts workaround. */ | 3107 | /* IMCFGLO timeouts workaround. */ |
3108 | tmp = ssb_read32(dev->dev, SSB_IMCFGLO); | 3108 | tmp = ssb_read32(dev->dev, SSB_IMCFGLO); |
3109 | tmp &= ~SSB_IMCFGLO_REQTO; | ||
3110 | tmp &= ~SSB_IMCFGLO_SERTO; | ||
3111 | switch (bus->bustype) { | 3109 | switch (bus->bustype) { |
3112 | case SSB_BUSTYPE_PCI: | 3110 | case SSB_BUSTYPE_PCI: |
3113 | case SSB_BUSTYPE_PCMCIA: | 3111 | case SSB_BUSTYPE_PCMCIA: |
3112 | tmp &= ~SSB_IMCFGLO_REQTO; | ||
3113 | tmp &= ~SSB_IMCFGLO_SERTO; | ||
3114 | tmp |= 0x32; | 3114 | tmp |= 0x32; |
3115 | break; | 3115 | break; |
3116 | case SSB_BUSTYPE_SSB: | 3116 | case SSB_BUSTYPE_SSB: |
3117 | tmp &= ~SSB_IMCFGLO_REQTO; | ||
3118 | tmp &= ~SSB_IMCFGLO_SERTO; | ||
3117 | tmp |= 0x53; | 3119 | tmp |= 0x53; |
3118 | break; | 3120 | break; |
3121 | default: | ||
3122 | break; | ||
3119 | } | 3123 | } |
3120 | ssb_write32(dev->dev, SSB_IMCFGLO, tmp); | 3124 | ssb_write32(dev->dev, SSB_IMCFGLO, tmp); |
3121 | } | 3125 | } |