qed: Fix setting of Management bitfields
The management firmware HSI contains masks which are already shifted to their right place, so QED_MFW_SET_FIELD() is clearing incorrect fields by shifting the mask by the offset. Luckily, today we set the fields in an incrementing order [so we're not erasing any previously set fields], but this still needs fixing. Signed-off-by: Tomer Tayar <Tomer.Tayar@cavium.com> Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>pull/474/head
parent
2e7022d64e
commit
b19601bbf1
|
|
@ -92,7 +92,7 @@ enum qed_mcp_protocol_type;
|
|||
|
||||
#define QED_MFW_SET_FIELD(name, field, value) \
|
||||
do { \
|
||||
(name) &= ~((field ## _MASK) << (field ## _SHIFT)); \
|
||||
(name) &= ~(field ## _MASK); \
|
||||
(name) |= (((value) << (field ## _SHIFT)) & (field ## _MASK));\
|
||||
} while (0)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue