public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] fix driver_register() return value
@ 2009-10-17 20:31 Stas Sergeev
  2009-10-17 20:46 ` Greg KH
  2009-10-26 23:56 ` patch driver-core-fix-driver_register-return-value.patch added to gregkh-2.6 tree gregkh
  0 siblings, 2 replies; 4+ messages in thread
From: Stas Sergeev @ 2009-10-17 20:31 UTC (permalink / raw)
  To: Greg KH; +Cc: Linux kernel

[-- Attachment #1: Type: text/plain, Size: 546 bytes --]

Hi Greg.

In this patch:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=16dc42e018c2868211b4928f20a957c0c216126c
the check was added for another
driver to already claim the same
device on the same bus. But the
returned error code was wrong:
to modprobe, the -EEXIST means
that _this_ driver is already
installed. It therefore doesn't
produce the needed error message
when _another_ driver is trying
to register for the same device.
Returning -EBUSY fixes the problem.

Signed-off-by: Stas Sergeev <stsp@aknet.ru>

[-- Attachment #2: drv_busy.diff --]
[-- Type: text/x-patch, Size: 403 bytes --]

diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index ed2ebd3..f367885 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -236,7 +236,7 @@ int driver_register(struct device_driver *drv)
 		put_driver(other);
 		printk(KERN_ERR "Error: Driver '%s' is already registered, "
 			"aborting...\n", drv->name);
-		return -EEXIST;
+		return -EBUSY;
 	}
 
 	ret = bus_add_driver(drv);

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

end of thread, other threads:[~2009-10-27  0:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-17 20:31 [patch] fix driver_register() return value Stas Sergeev
2009-10-17 20:46 ` Greg KH
2009-10-17 21:03   ` Stas Sergeev
2009-10-26 23:56 ` patch driver-core-fix-driver_register-return-value.patch added to gregkh-2.6 tree gregkh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox