diff options
author | Sjur Brændeland <sjur.brandeland@stericsson.com> | 2010-11-01 07:37:58 +0100 |
---|---|---|
committer | Jonas ABERG <jonas.aberg@stericsson.com> | 2011-05-05 07:58:13 +0200 |
commit | e221450bce732eff3fa8d85232676ac7e03ada83 (patch) | |
tree | caa01dfa936af978a91a398565aa012de39d9bf1 /net | |
parent | 1085d951c41a6d24978c38e9edf8ffc7252a7b42 (diff) |
CAIF: Socket option BINDTODEV failure
Socket option BINDTODEV should fail if not binding to CAIF device.
Change-Id: I74e717255a3d7e7762dfeea71f2cf901c5f9b94b
Signed-off-by: Erwan Bracq <erwan.bracq@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/21531
Reviewed-by: QATEST
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/caif/caif_config_util.c | 8 | ||||
-rw-r--r-- | net/caif/cfcnfg.c | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/net/caif/caif_config_util.c b/net/caif/caif_config_util.c index 8794bf4e39b..9b63e4e3910 100644 --- a/net/caif/caif_config_util.c +++ b/net/caif/caif_config_util.c @@ -16,13 +16,17 @@ int caif_connect_req_to_link_param(struct cfcnfg *cnfg, { struct dev_info *dev_info; enum cfcnfg_phy_preference pref; - memset(l, 0, sizeof(*l)); + int res; + memset(l, 0, sizeof(*l)); /* In caif protocol low value is high priority */ l->priority = CAIF_PRIO_MAX - s->priority + 1; if (s->ifindex != 0){ - l->phyid = cfcnfg_get_id_from_ifi(cnfg, s->ifindex); + res = cfcnfg_get_id_from_ifi(cnfg, s->ifindex); + if (res < 0) + return res; + l->phyid = res; } else { switch (s->link_selector) { diff --git a/net/caif/cfcnfg.c b/net/caif/cfcnfg.c index 02c0b6c3b46..b3b1fd48343 100644 --- a/net/caif/cfcnfg.c +++ b/net/caif/cfcnfg.c @@ -180,7 +180,7 @@ int cfcnfg_get_id_from_ifi(struct cfcnfg *cnfg, int ifi) if (cnfg->phy_layers[i].frm_layer != NULL && cnfg->phy_layers[i].ifindex == ifi) return i; - return 0; + return -ENODEV; } int cfcnfg_disconn_adapt_layer(struct cfcnfg *cnfg, struct cflayer *adap_layer) |