[PATCH 14/14] char: lp: return proper error values from attach

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



now that we are monitoring the return value from attach, make the
required changes to return proper value from its attach function.

Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
---
 drivers/char/lp.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/char/lp.c b/drivers/char/lp.c
index c4094c4..6988480 100644
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
@@ -900,34 +900,40 @@ static int lp_register(int nr, struct parport *port)
 	return 0;
 }
 
-static void lp_attach (struct parport *port)
+static int lp_attach(struct parport *port)
 {
 	unsigned int i;
+	int ret = -ENODEV;
 
 	switch (parport_nr[0]) {
 	case LP_PARPORT_UNSPEC:
 	case LP_PARPORT_AUTO:
 		if (parport_nr[0] == LP_PARPORT_AUTO &&
 		    port->probe_info[0].class != PARPORT_CLASS_PRINTER)
-			return;
+			return ret;
 		if (lp_count == LP_NO) {
 			printk(KERN_INFO "lp: ignoring parallel port (max. %d)\n",LP_NO);
-			return;
+			return ret;
 		}
-		if (!lp_register(lp_count, port))
+		if (!lp_register(lp_count, port)) {
 			lp_count++;
+			ret = 0;
+		}
 		break;
 
 	default:
 		for (i = 0; i < LP_NO; i++) {
 			if (port->number == parport_nr[i]) {
-				if (!lp_register(i, port))
+				if (!lp_register(i, port)) {
 					lp_count++;
+					ret = 0;
+				}
 				break;
 			}
 		}
 		break;
 	}
+	return ret;
 }
 
 static void lp_detach (struct parport *port)
-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux