All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tty: synclink_gt: release resources when synclink_gt driver open failed
@ 2022-11-14  1:07 Zhengchao Shao
  2022-11-14  5:44 ` Jiri Slaby
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Zhengchao Shao @ 2022-11-14  1:07 UTC (permalink / raw)
  To: linux-kernel, gregkh, jirislaby
  Cc: akpm, paulkf, weiyongjun1, yuehaibing, shaozhengchao

When synclink_gt driver open failed, it doesn't release resources. Compile
tested only.

Fixes: d4c63b7c7450 ("synclink_gt fix module reference")
Fixes: 705b6c7b34f2 ("[PATCH] new driver synclink_gt")
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
---
 drivers/tty/synclink_gt.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
index 25e9befdda3a..4dea52486410 100644
--- a/drivers/tty/synclink_gt.c
+++ b/drivers/tty/synclink_gt.c
@@ -1441,14 +1441,15 @@ static int hdlcdev_open(struct net_device *dev)
 	/* generic HDLC layer open processing */
 	rc = hdlc_open(dev);
 	if (rc)
-		return rc;
+		goto err_open;
 
 	/* arbitrate between network and tty opens */
 	spin_lock_irqsave(&info->netlock, flags);
 	if (info->port.count != 0 || info->netcount != 0) {
 		DBGINFO(("%s hdlc_open busy\n", dev->name));
 		spin_unlock_irqrestore(&info->netlock, flags);
-		return -EBUSY;
+		rc = -EBUSY;
+		goto err_open_busy;
 	}
 	info->netcount=1;
 	spin_unlock_irqrestore(&info->netlock, flags);
@@ -1458,7 +1459,7 @@ static int hdlcdev_open(struct net_device *dev)
 		spin_lock_irqsave(&info->netlock, flags);
 		info->netcount=0;
 		spin_unlock_irqrestore(&info->netlock, flags);
-		return rc;
+		goto err_open_busy;
 	}
 
 	/* assert RTS and DTR, apply hardware settings */
@@ -1478,6 +1479,12 @@ static int hdlcdev_open(struct net_device *dev)
 	else
 		netif_carrier_off(dev);
 	return 0;
+
+err_open_busy:
+	hdlc_close(dev);
+err_open:
+	module_put(THIS_MODULE);
+	return rc;
 }
 
 /**
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-11-18  3:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-14  1:07 [PATCH] tty: synclink_gt: release resources when synclink_gt driver open failed Zhengchao Shao
2022-11-14  5:44 ` Jiri Slaby
2022-11-14  7:19 ` Greg KH
2022-11-14 16:47 ` Paul Fulghum
     [not found]   ` <387F9F7B-C3AF-45BF-94ED-59348990B407@microgate.com>
2022-11-15 17:10     ` [PATCH] tty: synclink_gt: unwind actions in error path of net device open Greg Kroah-Hartman
2022-11-15 17:38       ` Paul Fulghum
2022-11-15 17:54         ` Greg Kroah-Hartman
2022-11-15 17:18     ` Paul Fulghum
2022-11-15 18:21 ` Paul Fulghum
2022-11-15 18:48   ` Greg KH
2022-11-18  3:09 ` [PATCH v2] tty:synclink_gt unwind actions in error path Paul Fulghum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.