aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/irda
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-05-07 02:14:33 +0000
committerDavid S. Miller <davem@davemloft.net>2013-05-08 13:13:29 -0700
commit59b626e1af009e8b81b7944a212c7247418b815d (patch)
tree4042c8cd0991f8057b234985c31eb0558afbb6aa /drivers/net/irda
parentnet: of_mdio: fix behavior on missing phy device (diff)
downloadlinux-dev-59b626e1af009e8b81b7944a212c7247418b815d.tar.xz
linux-dev-59b626e1af009e8b81b7944a212c7247418b815d.zip
net/irda: fix error return code in bfin_sir_open()
Fix to return -ENOMEM in the irlap_open() error handling case instead of 0(overwrite to 0 by bfin_sir_startup()), as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/irda')
-rw-r--r--drivers/net/irda/bfin_sir.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/irda/bfin_sir.c b/drivers/net/irda/bfin_sir.c
index a06fca61c9a0..22b4527321b1 100644
--- a/drivers/net/irda/bfin_sir.c
+++ b/drivers/net/irda/bfin_sir.c
@@ -609,7 +609,7 @@ static int bfin_sir_open(struct net_device *dev)
{
struct bfin_sir_self *self = netdev_priv(dev);
struct bfin_sir_port *port = self->sir_port;
- int err = -ENOMEM;
+ int err;
self->newspeed = 0;
self->speed = 9600;
@@ -623,8 +623,10 @@ static int bfin_sir_open(struct net_device *dev)
bfin_sir_set_speed(port, 9600);
self->irlap = irlap_open(dev, &self->qos, DRIVER_NAME);
- if (!self->irlap)
+ if (!self->irlap) {
+ err = -ENOMEM;
goto err_irlap;
+ }
INIT_WORK(&self->work, bfin_sir_send_work);