From: Akinobu Mita <akinobu.mita@gmail.com>
To: linux-kernel@vger.kernel.org, Jens Axboe <jens.axboe@oracle.com>
Cc: Eberhard Moenkeberg <emoenke@gwdg.de>,
Oliver Raupach <raupach@nwfs1.rz.fh-hannover.de>
Subject: [PATCH 3/4] void unregister_blkdev - ignore the return value
Date: Sat, 30 Jun 2007 12:15:38 +0900 [thread overview]
Message-ID: <20070630031538.GA4131@APFDCB5C> (raw)
In-Reply-To: <20070630031013.GC4045@APFDCB5C>
Some cdrom drivers stop destruct operations in module_exit() when
unregister_blkdev() failure happens.
But it can't help to stop unloading module. So it will not be good
error handling. Furthermore any other block drivers don't have such
handling and there is no special reason that only those cdrom drivers
have to do.
This patch removes the return value checks for unregister_blkdev().
This change will not hide the bugs. Because unregister_blkdev() prints
error message on failures by the previous patch.
Cc: Eberhard Moenkeberg <emoenke@gwdg.de>
Cc: Oliver Raupach <raupach@nwfs1.rz.fh-hannover.de>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
---
drivers/cdrom/aztcd.c | 5 +----
drivers/cdrom/cdu31a.c | 6 +-----
drivers/cdrom/cm206.c | 5 +----
drivers/cdrom/gscd.c | 5 +----
drivers/cdrom/optcd.c | 5 +----
drivers/cdrom/sbpcd.c | 8 ++------
6 files changed, 7 insertions(+), 27 deletions(-)
Index: 2.6-mm/drivers/cdrom/optcd.c
===================================================================
--- 2.6-mm.orig/drivers/cdrom/optcd.c
+++ 2.6-mm/drivers/cdrom/optcd.c
@@ -2089,10 +2089,7 @@ static void __exit optcd_exit(void)
{
del_gendisk(optcd_disk);
put_disk(optcd_disk);
- if (unregister_blkdev(MAJOR_NR, "optcd") == -EINVAL) {
- printk(KERN_ERR "optcd: what's that: can't unregister\n");
- return;
- }
+ unregister_blkdev(MAJOR_NR, "optcd");
blk_cleanup_queue(opt_queue);
release_region(optcd_port, 4);
printk(KERN_INFO "optcd: module released.\n");
Index: 2.6-mm/drivers/cdrom/sbpcd.c
===================================================================
--- 2.6-mm.orig/drivers/cdrom/sbpcd.c
+++ 2.6-mm/drivers/cdrom/sbpcd.c
@@ -5885,12 +5885,8 @@ int __init sbpcd_init(void)
static void sbpcd_exit(void)
{
int j;
-
- if ((unregister_blkdev(MAJOR_NR, major_name) == -EINVAL))
- {
- msg(DBG_INF, "What's that: can't unregister %s.\n", major_name);
- return;
- }
+
+ unregister_blkdev(MAJOR_NR, major_name);
release_region(CDo_command,4);
blk_cleanup_queue(sbpcd_queue);
for (j=0;j<NR_SBPCD;j++)
Index: 2.6-mm/drivers/cdrom/cdu31a.c
===================================================================
--- 2.6-mm.orig/drivers/cdrom/cdu31a.c
+++ 2.6-mm/drivers/cdrom/cdu31a.c
@@ -3227,11 +3227,7 @@ static void __exit cdu31a_exit(void)
"cdrom driver\n");
return;
}
- if ((unregister_blkdev(MAJOR_NR, "cdu31a") == -EINVAL)) {
- printk(KERN_WARNING PFX "Can't unregister\n");
- return;
- }
-
+ unregister_blkdev(MAJOR_NR, "cdu31a");
blk_cleanup_queue(cdu31a_queue);
if (cdu31a_irq > 0)
Index: 2.6-mm/drivers/cdrom/gscd.c
===================================================================
--- 2.6-mm.orig/drivers/cdrom/gscd.c
+++ 2.6-mm/drivers/cdrom/gscd.c
@@ -882,10 +882,7 @@ static void __exit gscd_exit(void)
del_gendisk(gscd_disk);
put_disk(gscd_disk);
- if ((unregister_blkdev(MAJOR_NR, "gscd") == -EINVAL)) {
- printk("What's that: can't unregister GoldStar-module\n");
- return;
- }
+ unregister_blkdev(MAJOR_NR, "gscd");
blk_cleanup_queue(gscd_queue);
release_region(gscd_port, GSCD_IO_EXTENT);
printk(KERN_INFO "GoldStar-module released.\n");
Index: 2.6-mm/drivers/cdrom/aztcd.c
===================================================================
--- 2.6-mm.orig/drivers/cdrom/aztcd.c
+++ 2.6-mm/drivers/cdrom/aztcd.c
@@ -1941,10 +1941,7 @@ static void __exit aztcd_exit(void)
{
del_gendisk(azt_disk);
put_disk(azt_disk);
- if ((unregister_blkdev(MAJOR_NR, "aztcd") == -EINVAL)) {
- printk("What's that: can't unregister aztcd\n");
- return;
- }
+ unregister_blkdev(MAJOR_NR, "aztcd");
blk_cleanup_queue(azt_queue);
if ((azt_port == 0x1f0) || (azt_port == 0x170)) {
SWITCH_IDE_MASTER;
Index: 2.6-mm/drivers/cdrom/cm206.c
===================================================================
--- 2.6-mm.orig/drivers/cdrom/cm206.c
+++ 2.6-mm/drivers/cdrom/cm206.c
@@ -1548,10 +1548,7 @@ static void __exit cm206_exit(void)
printk("Can't unregister cdrom cm206\n");
return;
}
- if (unregister_blkdev(MAJOR_NR, "cm206")) {
- printk("Can't unregister major cm206\n");
- return;
- }
+ unregister_blkdev(MAJOR_NR, "cm206");
blk_cleanup_queue(cm206_queue);
free_irq(cm206_irq, NULL);
kfree(cd);
next prev parent reply other threads:[~2007-06-30 3:25 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-30 3:10 [PATCH 1/4] void unregister_blkdev - do WARN_ON failure Akinobu Mita
2007-06-30 3:12 ` [PATCH 2/4] void unregister_blkdev - delete redundant messages Akinobu Mita
2007-06-30 3:13 ` [PATCH 2/4 -mm] void unregister_blkdev - delete redundant message Akinobu Mita
2007-06-30 6:15 ` Grant Likely
2007-06-30 6:14 ` [PATCH 2/4] void unregister_blkdev - delete redundant messages Grant Likely
2007-06-30 14:08 ` Akinobu Mita
2007-06-30 14:12 ` Grant Likely
2007-06-30 3:15 ` Akinobu Mita [this message]
2007-06-30 3:17 ` [PATCH 4/4] void unregister_blkdev - make void Akinobu Mita
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070630031538.GA4131@APFDCB5C \
--to=akinobu.mita@gmail.com \
--cc=emoenke@gwdg.de \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=raupach@nwfs1.rz.fh-hannover.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox