public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -mm] scsi_debug: must_check fixes
@ 2006-07-12  3:53 Randy.Dunlap
  2006-07-12 11:22 ` Douglas Gilbert
  0 siblings, 1 reply; 2+ messages in thread
From: Randy.Dunlap @ 2006-07-12  3:53 UTC (permalink / raw)
  To: lkml, scsi; +Cc: jejb, akpm, dgilbert

From: Randy Dunlap <rdunlap@xenotime.net>

Check all __must_check warnings in scsi_debug.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
---
 drivers/scsi/scsi_debug.c |   72 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 54 insertions(+), 18 deletions(-)

--- linux-2618-rc1mm1.orig/drivers/scsi/scsi_debug.c
+++ linux-2618-rc1mm1/drivers/scsi/scsi_debug.c
@@ -286,7 +286,7 @@ static int inquiry_evpd_83(unsigned char
 			   int dev_id_num, const char * dev_id_str,
 			   int dev_id_str_len);
 static int inquiry_evpd_88(unsigned char * arr, int target_dev_id);
-static void do_create_driverfs_files(void);
+static int do_create_driverfs_files(void);
 static void do_remove_driverfs_files(void);
 
 static int sdebug_add_adapter(void);
@@ -2487,19 +2487,22 @@ static ssize_t sdebug_add_host_store(str
 DRIVER_ATTR(add_host, S_IRUGO | S_IWUSR, sdebug_add_host_show, 
 	    sdebug_add_host_store);
 
-static void do_create_driverfs_files(void)
+static int do_create_driverfs_files(void)
 {
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_add_host);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_delay);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_dev_size_mb);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_dsense);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_every_nth);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_max_luns);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_tgts);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_parts);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_ptype);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_opts);
-	driver_create_file(&sdebug_driverfs_driver, &driver_attr_scsi_level);
+	int ret;
+
+	ret = driver_create_file(&sdebug_driverfs_driver, &driver_attr_add_host);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_delay);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_dev_size_mb);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_dsense);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_every_nth);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_max_luns);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_tgts);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_parts);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_ptype);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_opts);
+	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_scsi_level);
+	return ret;
 }
 
 static void do_remove_driverfs_files(void)
@@ -2522,6 +2525,7 @@ static int __init scsi_debug_init(void)
 	unsigned int sz;
 	int host_to_add;
 	int k;
+	int ret;
 
 	if (scsi_debug_dev_size_mb < 1)
 		scsi_debug_dev_size_mb = 1;  /* force minimum 1 MB ramdisk */
@@ -2560,12 +2564,32 @@ static int __init scsi_debug_init(void)
 	if (scsi_debug_num_parts > 0)
 		sdebug_build_parts(fake_storep);
 
-	init_all_queued();
+	ret = device_register(&pseudo_primary);
+	if (ret < 0) {
+		printk(KERN_WARNING "scsi_debug: device_register error: %d\n",
+			ret);
+		goto free_vm;
+	}
+	ret = bus_register(&pseudo_lld_bus);
+	if (ret < 0) {
+		printk(KERN_WARNING "scsi_debug: bus_register error: %d\n",
+			ret);
+		goto dev_unreg;
+	}
+	ret = driver_register(&sdebug_driverfs_driver);
+	if (ret < 0) {
+		printk(KERN_WARNING "scsi_debug: driver_register error: %d\n",
+			ret);
+		goto bus_unreg;
+	}
+	ret = do_create_driverfs_files();
+	if (ret < 0) {
+		printk(KERN_WARNING "scsi_debug: driver_create_file error: %d\n",
+			ret);
+		goto del_files;
+	}
 
-	device_register(&pseudo_primary);
-	bus_register(&pseudo_lld_bus);
-	driver_register(&sdebug_driverfs_driver);
-	do_create_driverfs_files();
+	init_all_queued();
 
 	sdebug_driver_template.proc_name = (char *)sdebug_proc_name;
 
@@ -2585,6 +2609,18 @@ static int __init scsi_debug_init(void)
 		       scsi_debug_add_host);
 	}
 	return 0;
+
+del_files:
+	do_remove_driverfs_files();
+	driver_unregister(&sdebug_driverfs_driver);
+bus_unreg:
+	bus_unregister(&pseudo_lld_bus);
+dev_unreg:
+	device_unregister(&pseudo_primary);
+free_vm:
+	vfree(fake_storep);
+
+	return ret;
 }
 
 static void __exit scsi_debug_exit(void)


---

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

* Re: [PATCH -mm] scsi_debug: must_check fixes
  2006-07-12  3:53 [PATCH -mm] scsi_debug: must_check fixes Randy.Dunlap
@ 2006-07-12 11:22 ` Douglas Gilbert
  0 siblings, 0 replies; 2+ messages in thread
From: Douglas Gilbert @ 2006-07-12 11:22 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: lkml, scsi, jejb, akpm

Randy.Dunlap wrote:
> From: Randy Dunlap <rdunlap@xenotime.net>
> 
> Check all __must_check warnings in scsi_debug.

Randy,
Thanks for the patch.

> Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>

Signed-off-by: Douglas Gilbert <dougg@torque.net>

> ---
>  drivers/scsi/scsi_debug.c |   72 ++++++++++++++++++++++++++++++++++------------
>  1 files changed, 54 insertions(+), 18 deletions(-)
> 
> --- linux-2618-rc1mm1.orig/drivers/scsi/scsi_debug.c
> +++ linux-2618-rc1mm1/drivers/scsi/scsi_debug.c
> @@ -286,7 +286,7 @@ static int inquiry_evpd_83(unsigned char
>  			   int dev_id_num, const char * dev_id_str,
>  			   int dev_id_str_len);
>  static int inquiry_evpd_88(unsigned char * arr, int target_dev_id);
> -static void do_create_driverfs_files(void);
> +static int do_create_driverfs_files(void);
>  static void do_remove_driverfs_files(void);
>  
>  static int sdebug_add_adapter(void);
> @@ -2487,19 +2487,22 @@ static ssize_t sdebug_add_host_store(str
>  DRIVER_ATTR(add_host, S_IRUGO | S_IWUSR, sdebug_add_host_show, 
>  	    sdebug_add_host_store);
>  
> -static void do_create_driverfs_files(void)
> +static int do_create_driverfs_files(void)
>  {
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_add_host);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_delay);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_dev_size_mb);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_dsense);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_every_nth);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_max_luns);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_tgts);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_parts);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_ptype);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_opts);
> -	driver_create_file(&sdebug_driverfs_driver, &driver_attr_scsi_level);
> +	int ret;
> +
> +	ret = driver_create_file(&sdebug_driverfs_driver, &driver_attr_add_host);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_delay);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_dev_size_mb);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_dsense);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_every_nth);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_max_luns);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_tgts);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_parts);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_ptype);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_opts);
> +	ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_scsi_level);
> +	return ret;
>  }
>  
>  static void do_remove_driverfs_files(void)
> @@ -2522,6 +2525,7 @@ static int __init scsi_debug_init(void)
>  	unsigned int sz;
>  	int host_to_add;
>  	int k;
> +	int ret;
>  
>  	if (scsi_debug_dev_size_mb < 1)
>  		scsi_debug_dev_size_mb = 1;  /* force minimum 1 MB ramdisk */
> @@ -2560,12 +2564,32 @@ static int __init scsi_debug_init(void)
>  	if (scsi_debug_num_parts > 0)
>  		sdebug_build_parts(fake_storep);
>  
> -	init_all_queued();
> +	ret = device_register(&pseudo_primary);
> +	if (ret < 0) {
> +		printk(KERN_WARNING "scsi_debug: device_register error: %d\n",
> +			ret);
> +		goto free_vm;
> +	}
> +	ret = bus_register(&pseudo_lld_bus);
> +	if (ret < 0) {
> +		printk(KERN_WARNING "scsi_debug: bus_register error: %d\n",
> +			ret);
> +		goto dev_unreg;
> +	}
> +	ret = driver_register(&sdebug_driverfs_driver);
> +	if (ret < 0) {
> +		printk(KERN_WARNING "scsi_debug: driver_register error: %d\n",
> +			ret);
> +		goto bus_unreg;
> +	}
> +	ret = do_create_driverfs_files();
> +	if (ret < 0) {
> +		printk(KERN_WARNING "scsi_debug: driver_create_file error: %d\n",
> +			ret);
> +		goto del_files;
> +	}
>  
> -	device_register(&pseudo_primary);
> -	bus_register(&pseudo_lld_bus);
> -	driver_register(&sdebug_driverfs_driver);
> -	do_create_driverfs_files();
> +	init_all_queued();
>  
>  	sdebug_driver_template.proc_name = (char *)sdebug_proc_name;
>  
> @@ -2585,6 +2609,18 @@ static int __init scsi_debug_init(void)
>  		       scsi_debug_add_host);
>  	}
>  	return 0;
> +
> +del_files:
> +	do_remove_driverfs_files();
> +	driver_unregister(&sdebug_driverfs_driver);
> +bus_unreg:
> +	bus_unregister(&pseudo_lld_bus);
> +dev_unreg:
> +	device_unregister(&pseudo_primary);
> +free_vm:
> +	vfree(fake_storep);
> +
> +	return ret;
>  }
>  
>  static void __exit scsi_debug_exit(void)
> 
> 
> ---
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


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

end of thread, other threads:[~2006-07-12 11:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-12  3:53 [PATCH -mm] scsi_debug: must_check fixes Randy.Dunlap
2006-07-12 11:22 ` Douglas Gilbert

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