rocker: cleanup vlan table on error adding vlan

Basic house keeping: If there is an error adding the router MAC for this
vlan, removing the just installed VLAN table entry to leave device in same
state as before failure.

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Scott Feldman 2015-06-01 11:39:03 -07:00 коммит произвёл David S. Miller
Родитель 27b808cbc2
Коммит cec04a60bc
1 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -4320,7 +4320,12 @@ static int rocker_port_vlan_add(struct rocker_port *rocker_port,
if (err)
return err;
return rocker_port_router_mac(rocker_port, trans, 0, htons(vid));
err = rocker_port_router_mac(rocker_port, trans, 0, htons(vid));
if (err)
rocker_port_vlan(rocker_port, trans,
ROCKER_OP_FLAG_REMOVE, vid);
return err;
}
static int rocker_port_vlans_add(struct rocker_port *rocker_port,