diff options
Diffstat (limited to 'drivers/net/ethernet/rocker/rocker_ofdpa.c')
| -rw-r--r-- | drivers/net/ethernet/rocker/rocker_ofdpa.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/net/ethernet/rocker/rocker_ofdpa.c b/drivers/net/ethernet/rocker/rocker_ofdpa.c index 7cd76b6b5cb9..2ae852454780 100644 --- a/drivers/net/ethernet/rocker/rocker_ofdpa.c +++ b/drivers/net/ethernet/rocker/rocker_ofdpa.c | |||
| @@ -2216,18 +2216,15 @@ static int ofdpa_port_stp_update(struct ofdpa_port *ofdpa_port, | |||
| 2216 | { | 2216 | { |
| 2217 | bool want[OFDPA_CTRL_MAX] = { 0, }; | 2217 | bool want[OFDPA_CTRL_MAX] = { 0, }; |
| 2218 | bool prev_ctrls[OFDPA_CTRL_MAX]; | 2218 | bool prev_ctrls[OFDPA_CTRL_MAX]; |
| 2219 | u8 uninitialized_var(prev_state); | 2219 | u8 prev_state; |
| 2220 | int err; | 2220 | int err; |
| 2221 | int i; | 2221 | int i; |
| 2222 | 2222 | ||
| 2223 | if (switchdev_trans_ph_prepare(trans)) { | 2223 | prev_state = ofdpa_port->stp_state; |
| 2224 | memcpy(prev_ctrls, ofdpa_port->ctrls, sizeof(prev_ctrls)); | 2224 | if (prev_state == state) |
| 2225 | prev_state = ofdpa_port->stp_state; | ||
| 2226 | } | ||
| 2227 | |||
| 2228 | if (ofdpa_port->stp_state == state) | ||
| 2229 | return 0; | 2225 | return 0; |
| 2230 | 2226 | ||
| 2227 | memcpy(prev_ctrls, ofdpa_port->ctrls, sizeof(prev_ctrls)); | ||
| 2231 | ofdpa_port->stp_state = state; | 2228 | ofdpa_port->stp_state = state; |
| 2232 | 2229 | ||
| 2233 | switch (state) { | 2230 | switch (state) { |
