ethernet: dwmac: fix promiscuous mode
The dedicated PR (Promiscuous Mode) bit should be used instead of the RA (Receive All) bit. Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
This commit is contained in:
parent
85e2bf2a2c
commit
e915dcad13
1 changed files with 4 additions and 4 deletions
|
@ -487,13 +487,13 @@ static int dwmac_set_config(const struct device *dev,
|
||||||
case ETHERNET_CONFIG_TYPE_PROMISC_MODE:
|
case ETHERNET_CONFIG_TYPE_PROMISC_MODE:
|
||||||
reg_val = REG_READ(MAC_PKT_FILTER);
|
reg_val = REG_READ(MAC_PKT_FILTER);
|
||||||
if (config->promisc_mode &&
|
if (config->promisc_mode &&
|
||||||
!(reg_val & MAC_PKT_FILTER_RA)) {
|
!(reg_val & MAC_PKT_FILTER_PR)) {
|
||||||
REG_WRITE(MAC_PKT_FILTER,
|
REG_WRITE(MAC_PKT_FILTER,
|
||||||
reg_val | MAC_PKT_FILTER_RA);
|
reg_val | MAC_PKT_FILTER_PR);
|
||||||
} else if (!config->promisc_mode &&
|
} else if (!config->promisc_mode &&
|
||||||
(reg_val & MAC_PKT_FILTER_RA)) {
|
(reg_val & MAC_PKT_FILTER_PR)) {
|
||||||
REG_WRITE(MAC_PKT_FILTER,
|
REG_WRITE(MAC_PKT_FILTER,
|
||||||
reg_val & ~MAC_PKT_FILTER_RA);
|
reg_val & ~MAC_PKT_FILTER_PR);
|
||||||
} else {
|
} else {
|
||||||
ret = -EALREADY;
|
ret = -EALREADY;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue