net/smc: fix SMCD link group creation with VLAN id
If creation of an SMCD link group with VLAN id fails, the initial
smc_ism_get_vlan() step has to be reverted as well.
Fixes: c6ba7c9ba4
("net/smc: add base infrastructure for SMC-D and ISM")
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
This commit is contained in:
parent
2168da4594
commit
29ee270152
|
@ -213,7 +213,7 @@ static int smc_lgr_create(struct smc_sock *smc, struct smc_init_info *ini)
|
|||
lgr = kzalloc(sizeof(*lgr), GFP_KERNEL);
|
||||
if (!lgr) {
|
||||
rc = SMC_CLC_DECL_MEM;
|
||||
goto out;
|
||||
goto ism_put_vlan;
|
||||
}
|
||||
lgr->is_smcd = ini->is_smcd;
|
||||
lgr->sync_err = 0;
|
||||
|
@ -289,6 +289,9 @@ clear_llc_lnk:
|
|||
smc_llc_link_clear(lnk);
|
||||
free_lgr:
|
||||
kfree(lgr);
|
||||
ism_put_vlan:
|
||||
if (ini->is_smcd && ini->vlan_id)
|
||||
smc_ism_put_vlan(ini->ism_dev, ini->vlan_id);
|
||||
out:
|
||||
if (rc < 0) {
|
||||
if (rc == -ENOMEM)
|
||||
|
|
Loading…
Reference in New Issue