farsync: add module_put to error path in fst_open()

The fst_open() function, after a successful try_module_get() may return
an error code if hdlc_open() returns it.  However, it does not put the
module on this error path.

This patch adds the necessary module_put() call.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Pavel Shved <shved@ispras.ru>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
This commit is contained in:
Pavel Shved 2011-06-17 06:25:10 +00:00 committed by David S. Miller
parent 1eddceadb0
commit d0fd64c1de
1 changed files with 3 additions and 1 deletions

View File

@ -2203,9 +2203,11 @@ fst_open(struct net_device *dev)
if (port->mode != FST_RAW) { if (port->mode != FST_RAW) {
err = hdlc_open(dev); err = hdlc_open(dev);
if (err) if (err) {
module_put(THIS_MODULE);
return err; return err;
} }
}
fst_openport(port); fst_openport(port);
netif_wake_queue(dev); netif_wake_queue(dev);