net: aquantia: temperature retrieval fix
Chip temperature is a two byte word, colocated internally with cable length data. We do all readouts from HW memory by dwords, thus we should clear extra high bytes, otherwise temperature output gets weird as soon as we attach a cable to the NIC. Fixes: 8f8940118654 ("net: aquantia: add infrastructure to readout chip temperature") Tested-by: Holger Hoffstätte <holger@applied-asynchrony.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
33902b4a42
commit
06b0d7fe7e
@ -337,7 +337,7 @@ static int aq_fw2x_get_phy_temp(struct aq_hw_s *self, int *temp)
|
||||
/* Convert PHY temperature from 1/256 degree Celsius
|
||||
* to 1/1000 degree Celsius.
|
||||
*/
|
||||
*temp = temp_res * 1000 / 256;
|
||||
*temp = (temp_res & 0xFFFF) * 1000 / 256;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user