Re: [patch 11/17] scsi: ch.c fix shadowed variable warnings

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

 



On Fri, 2008-03-28 at 14:48 -0700, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> From: Harvey Harrison <harvey.harrison@xxxxxxxxx>
> 
> err shadows the array of errors in this driver, switch to ch_err
> drivers/scsi/ch.c:271:6: warning: symbol 'err' shadows an earlier one
> drivers/scsi/ch.c:116:3: originally declared here
> 
> cmd shadows the argument to this function, switch to ch_cmd
> drivers/scsi/ch.c:724:11: warning: symbol 'cmd' shadows an earlier one
> drivers/scsi/ch.c:596:20: originally declared here
> 
> Small code cleanup as well in if() statement.
> 
> [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
> Signed-off-by: Harvey Harrison <harvey.harrison@xxxxxxxxx>
> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
> 
>  drivers/scsi/ch.c |   29 +++++++++++++++--------------
>  1 file changed, 15 insertions(+), 14 deletions(-)
> 
> diff -puN drivers/scsi/ch.c~scsi-chc-fix-shadowed-variable-warnings drivers/scsi/ch.c
> --- a/drivers/scsi/ch.c~scsi-chc-fix-shadowed-variable-warnings
> +++ a/drivers/scsi/ch.c
> @@ -268,16 +268,16 @@ ch_read_element_status(scsi_changer *ch,
>  static int
>  ch_init_elem(scsi_changer *ch)
>  {
> -	int err;
> +	int ch_err;

This isn't really the correct fix, is it?  The driver stupidity is
having a global (although static) variable called err which invites
problems like this.  How about this fix?

James

---

diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c
index 7aad154..b1be2d8 100644
--- a/drivers/scsi/ch.c
+++ b/drivers/scsi/ch.c
@@ -113,7 +113,7 @@ static const struct {
 	unsigned char  asc;
 	unsigned char  ascq;
 	int	       errno;
-} err[] = {
+} ch_err_desc[] = {
 /* Just filled in what looks right. Hav'nt checked any standard paper for
    these errno assignments, so they may be wrong... */
 	{
@@ -155,11 +155,11 @@ static int ch_find_errno(struct scsi_sense_hdr *sshdr)
 	/* Check to see if additional sense information is available */
 	if (scsi_sense_valid(sshdr) &&
 	    sshdr->asc != 0) {
-		for (i = 0; err[i].errno != 0; i++) {
-			if (err[i].sense == sshdr->sense_key &&
-			    err[i].asc   == sshdr->asc &&
-			    err[i].ascq  == sshdr->ascq) {
-				errno = -err[i].errno;
+		for (i = 0; ch_err_desc[i].errno != 0; i++) {
+			if (ch_err_desc[i].sense == sshdr->sense_key &&
+			    ch_err_desc[i].asc   == sshdr->asc &&
+			    ch_err_desc[i].ascq  == sshdr->ascq) {
+				errno = -ch_err_desc[i].errno;
 				break;
 			}
 		}


--
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