diff options
author | Pavel Shved <shved@ispras.ru> | 2011-06-17 02:25:10 -0400 |
---|---|---|
committer | David S. Miller <davem@conan.davemloft.net> | 2011-06-17 15:27:32 -0400 |
commit | d0fd64c1de437bdf91c32d4f84a53fa4b2150348 (patch) | |
tree | 85ed9777696fae76834a1e546bb1d733a73abc33 /drivers/net | |
parent | 1eddceadb0d6441cd39b2c38705a8f5fec86e770 (diff) |
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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wan/farsync.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c index e050bd65e037..777d1a4e81b2 100644 --- a/drivers/net/wan/farsync.c +++ b/drivers/net/wan/farsync.c | |||
@@ -2203,8 +2203,10 @@ fst_open(struct net_device *dev) | |||
2203 | 2203 | ||
2204 | if (port->mode != FST_RAW) { | 2204 | if (port->mode != FST_RAW) { |
2205 | err = hdlc_open(dev); | 2205 | err = hdlc_open(dev); |
2206 | if (err) | 2206 | if (err) { |
2207 | module_put(THIS_MODULE); | ||
2207 | return err; | 2208 | return err; |
2209 | } | ||
2208 | } | 2210 | } |
2209 | 2211 | ||
2210 | fst_openport(port); | 2212 | fst_openport(port); |