Commit 06b0d7fe authored by Igor Russkikh's avatar Igor Russkikh Committed by David S. Miller

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: 8f894011 ("net: aquantia: add infrastructure to readout chip temperature")
Tested-by: default avatarHolger Hoffstätte <holger@applied-asynchrony.com>
Signed-off-by: default avatarIgor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 33902b4a
...@@ -337,7 +337,7 @@ static int aq_fw2x_get_phy_temp(struct aq_hw_s *self, int *temp) ...@@ -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 /* Convert PHY temperature from 1/256 degree Celsius
* to 1/1000 degree Celsius. * to 1/1000 degree Celsius.
*/ */
*temp = temp_res * 1000 / 256; *temp = (temp_res & 0xFFFF) * 1000 / 256;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment