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>
This commit is contained in:
Wei Yongjun 2013-05-07 02:14:33 +00:00 коммит произвёл David S. Miller
Родитель 058112c7ef
Коммит 59b626e1af
1 изменённых файлов: 4 добавлений и 2 удалений

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

@ -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);