aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSjur Brændeland <sjur.brandeland@stericsson.com>2010-11-01 07:37:58 +0100
committerJonas ABERG <jonas.aberg@stericsson.com>2011-05-05 07:58:13 +0200
commite221450bce732eff3fa8d85232676ac7e03ada83 (patch)
treecaa01dfa936af978a91a398565aa012de39d9bf1 /net
parent1085d951c41a6d24978c38e9edf8ffc7252a7b42 (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.c8
-rw-r--r--net/caif/cfcnfg.c2
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)