public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 4/5] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c
@ 2006-10-06  4:57 Amol Lad
  2006-10-06 11:21 ` Alan Cox
  0 siblings, 1 reply; 4+ messages in thread
From: Amol Lad @ 2006-10-06  4:57 UTC (permalink / raw)
  To: linux kernel; +Cc: Andrew Morton

Signed-off-by: Amol Lad <amol@verismonetworks.com>
---
 rio_linux.c |    3 +++
 1 files changed, 3 insertions(+)
---
diff -uprN -X linux-2.6.19-rc1-orig/Documentation/dontdiff linux-2.6.19-rc1-orig/drivers/char/rio/rio_linux.c linux-2.6.19-rc1/drivers/char/rio/rio_linux.c
--- linux-2.6.19-rc1-orig/drivers/char/rio/rio_linux.c	2006-10-05 14:00:43.000000000 +0530
+++ linux-2.6.19-rc1/drivers/char/rio/rio_linux.c	2006-10-05 14:50:00.000000000 +0530
@@ -1181,6 +1181,9 @@ static void __exit rio_exit(void)
 		}
 		/* It is safe/allowed to del_timer a non-active timer */
 		del_timer(&hp->timer);
+
+		if (hp->Caddr)
+			iounmap(hp->Caddr);
 	}
 
 	if (misc_deregister(&rio_fw_device) < 0) {



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

* Re: [PATCH 4/5] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c
  2006-10-06 11:21 ` Alan Cox
@ 2006-10-06 11:21   ` Amol Lad
  2006-10-06 14:03     ` Alan Cox
  0 siblings, 1 reply; 4+ messages in thread
From: Amol Lad @ 2006-10-06 11:21 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux kernel, Andrew Morton

> > +
> > +		if (hp->Caddr)
> > +			iounmap(hp->Caddr);
> >  	}
> 
> I don't think this is sufficient because it may be unmapped earlier on
> error but hp->Caddr is not then cleared .

Is this fine ?

Signed-off-by: Amol Lad <amol@verismonetworks.com>
---
 rio_linux.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletion(-)
---
diff -uprN -X linux-2.6.19-rc1-orig/Documentation/dontdiff linux-2.6.19-rc1-orig/drivers/char/rio/rio_linux.c linux-2.6.19-rc1/drivers/char/rio/rio_linux.c
--- linux-2.6.19-rc1-orig/drivers/char/rio/rio_linux.c	2006-10-05 14:00:43.000000000 +0530
+++ linux-2.6.19-rc1/drivers/char/rio/rio_linux.c	2006-10-06 16:42:19.000000000 +0530
@@ -1022,6 +1022,7 @@ static int __init rio_init(void)
 			found++;
 		} else {
 			iounmap(p->RIOHosts[p->RIONumHosts].Caddr);
+			p->RIOHosts[p->RIONumHosts].Caddr = NULL;
 		}
 	}
 
@@ -1071,6 +1072,7 @@ static int __init rio_init(void)
 			found++;
 		} else {
 			iounmap(p->RIOHosts[p->RIONumHosts].Caddr);
+			p->RIOHosts[p->RIONumHosts].Caddr = NULL;
 		}
 #else
 		printk(KERN_ERR "Found an older RIO PCI card, but the driver is not " "compiled to support it.\n");
@@ -1110,8 +1112,10 @@ static int __init rio_init(void)
 				}
 			}
 
-			if (!okboard)
+			if (!okboard) {
 				iounmap(hp->Caddr);
+				hp->Caddr = NULL;
+			}
 		}
 	}
 
@@ -1181,6 +1185,9 @@ static void __exit rio_exit(void)
 		}
 		/* It is safe/allowed to del_timer a non-active timer */
 		del_timer(&hp->timer);
+
+		if (hp->Caddr)
+			iounmap(hp->Caddr);
 	}
 
 	if (misc_deregister(&rio_fw_device) < 0) {



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

* Re: [PATCH 4/5] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c
  2006-10-06  4:57 [PATCH 4/5] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c Amol Lad
@ 2006-10-06 11:21 ` Alan Cox
  2006-10-06 11:21   ` Amol Lad
  0 siblings, 1 reply; 4+ messages in thread
From: Alan Cox @ 2006-10-06 11:21 UTC (permalink / raw)
  To: Amol Lad; +Cc: linux kernel, Andrew Morton

Ar Gwe, 2006-10-06 am 10:27 +0530, ysgrifennodd Amol Lad:
> Signed-off-by: Amol Lad <amol@verismonetworks.com>
> ---
>  rio_linux.c |    3 +++
>  1 files changed, 3 insertions(+)
> ---
> diff -uprN -X linux-2.6.19-rc1-orig/Documentation/dontdiff linux-2.6.19-rc1-orig/drivers/char/rio/rio_linux.c linux-2.6.19-rc1/drivers/char/rio/rio_linux.c
> --- linux-2.6.19-rc1-orig/drivers/char/rio/rio_linux.c	2006-10-05 14:00:43.000000000 +0530
> +++ linux-2.6.19-rc1/drivers/char/rio/rio_linux.c	2006-10-05 14:50:00.000000000 +0530
> @@ -1181,6 +1181,9 @@ static void __exit rio_exit(void)
>  		}
>  		/* It is safe/allowed to del_timer a non-active timer */
>  		del_timer(&hp->timer);
> +
> +		if (hp->Caddr)
> +			iounmap(hp->Caddr);
>  	}

I don't think this is sufficient because it may be unmapped earlier on
error but hp->Caddr is not then cleared .


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

* Re: [PATCH 4/5] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c
  2006-10-06 11:21   ` Amol Lad
@ 2006-10-06 14:03     ` Alan Cox
  0 siblings, 0 replies; 4+ messages in thread
From: Alan Cox @ 2006-10-06 14:03 UTC (permalink / raw)
  To: Amol Lad; +Cc: linux kernel, Andrew Morton

Ar Gwe, 2006-10-06 am 16:51 +0530, ysgrifennodd Amol Lad:
> > > +
> > > +		if (hp->Caddr)
> > > +			iounmap(hp->Caddr);
> > >  	}
> > 
> > I don't think this is sufficient because it may be unmapped earlier on
> > error but hp->Caddr is not then cleared .
> 
> Is this fine ?
> 
> Signed-off-by: Amol Lad <amol@verismonetworks.com>

Acked-by: Alan Cox <alan@redhat.com>

Thanks


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

end of thread, other threads:[~2006-10-06 13:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-06  4:57 [PATCH 4/5] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c Amol Lad
2006-10-06 11:21 ` Alan Cox
2006-10-06 11:21   ` Amol Lad
2006-10-06 14:03     ` Alan Cox

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