rt2x00: rt2800lib: fix VGC adjustment for RT5592
In commit 3d81535ea5
(rt2800: 5592: add chip specific vgc calculations)
the rt2800_link_tuner function has been modified to
adjust VGC level for the RT5592 chipset.
On the RT5592 chipset, the VGC level must be adjusted
only if rssi is greater than -65. However the current
code adjusts the VGC value by 0x10 regardless of the
actual chipset if the rssi value is between -80 and
-65.
Fix the broken behaviour by reordering the if-else
statements.
Cc: stable@vger.kernel.org
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
			
			
This commit is contained in:
		
							parent
							
								
									1dc254ac9f
								
							
						
					
					
						commit
						0beb1bbf19
					
				| @ -4478,10 +4478,13 @@ void rt2800_link_tuner(struct rt2x00_dev *rt2x00dev, struct link_qual *qual, | ||||
| 
 | ||||
| 	vgc = rt2800_get_default_vgc(rt2x00dev); | ||||
| 
 | ||||
| 	if (rt2x00_rt(rt2x00dev, RT5592) && qual->rssi > -65) | ||||
| 		vgc += 0x20; | ||||
| 	else if (qual->rssi > -80) | ||||
| 		vgc += 0x10; | ||||
| 	if (rt2x00_rt(rt2x00dev, RT5592)) { | ||||
| 		if (qual->rssi > -65) | ||||
| 			vgc += 0x20; | ||||
| 	} else { | ||||
| 		if (qual->rssi > -80) | ||||
| 			vgc += 0x10; | ||||
| 	} | ||||
| 
 | ||||
| 	rt2800_set_vgc(rt2x00dev, qual, vgc); | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user