LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] amiserial: Prepare for locking relaxation in caller.
@ 2008-02-20 20:11 Alan Cox
  2008-02-23  8:05 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Alan Cox @ 2008-02-20 20:11 UTC (permalink / raw)
  To: akpm, linux-kernel


Just wrap this one in a lock_kernel. As I understand it there is no M68K
SMP anyway.

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

diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.25-rc2-mm1/drivers/char/amiserial.c linux-2.6.25-rc2-mm1/drivers/char/amiserial.c
--- linux.vanilla-2.6.25-rc2-mm1/drivers/char/amiserial.c	2008-02-19 11:01:44.000000000 +0000
+++ linux-2.6.25-rc2-mm1/drivers/char/amiserial.c	2008-02-20 11:45:28.000000000 +0000
@@ -1074,6 +1074,7 @@
 	if (!retinfo)
 		return -EFAULT;
 	memset(&tmp, 0, sizeof(tmp));
+	lock_kernel();
 	tmp.type = state->type;
 	tmp.line = state->line;
 	tmp.port = state->port;
@@ -1084,6 +1085,7 @@
 	tmp.close_delay = state->close_delay;
 	tmp.closing_wait = state->closing_wait;
 	tmp.custom_divisor = state->custom_divisor;
+	unlock_kernel();
 	if (copy_to_user(retinfo,&tmp,sizeof(*retinfo)))
 		return -EFAULT;
 	return 0;
@@ -1099,13 +1101,17 @@
 
 	if (copy_from_user(&new_serial,new_info,sizeof(new_serial)))
 		return -EFAULT;
+		
+	lock_kernel();
 	state = info->state;
 	old_state = *state;
   
 	change_irq = new_serial.irq != state->irq;
 	change_port = (new_serial.port != state->port);
-	if(change_irq || change_port || (new_serial.xmit_fifo_size != state->xmit_fifo_size))
+	if(change_irq || change_port || (new_serial.xmit_fifo_size != state->xmit_fifo_size)) {
+	  unlock_kernel();
 	  return -EINVAL;
+	}
   
 	if (!serial_isroot()) {
 		if ((new_serial.baud_base != state->baud_base) ||
@@ -1122,8 +1128,10 @@
 		goto check_and_exit;
 	}
 
-	if (new_serial.baud_base < 9600)
+	if (new_serial.baud_base < 9600) {
+		unlock_kernel();
 		return -EINVAL;
+	}
 
 	/*
 	 * OK, past this point, all the error checking has been done.
@@ -1157,6 +1165,7 @@
 		}
 	} else
 		retval = startup(info);
+	unlock_kernel();
 	return retval;
 }
 

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

* Re: [PATCH] amiserial: Prepare for locking relaxation in caller.
  2008-02-20 20:11 [PATCH] amiserial: Prepare for locking relaxation in caller Alan Cox
@ 2008-02-23  8:05 ` Andrew Morton
  2008-02-23 10:27   ` Alan Cox
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2008-02-23  8:05 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel

On Wed, 20 Feb 2008 20:11:01 +0000 Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

> 
> Just wrap this one in a lock_kernel. As I understand it there is no M68K
> SMP anyway.
> 

I assume that all the bkl/locking patches are prerequisites for
tty-bkl-pushdown.patch, and that they don't depend upon
tty-bkl-pushdown.patch?

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

* Re: [PATCH] amiserial: Prepare for locking relaxation in caller.
  2008-02-23  8:05 ` Andrew Morton
@ 2008-02-23 10:27   ` Alan Cox
  0 siblings, 0 replies; 3+ messages in thread
From: Alan Cox @ 2008-02-23 10:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Sat, 23 Feb 2008 00:05:25 -0800
Andrew Morton <akpm@linux-foundation.org> wrote:

> On Wed, 20 Feb 2008 20:11:01 +0000 Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> 
> > 
> > Just wrap this one in a lock_kernel. As I understand it there is no M68K
> > SMP anyway.
> > 
> 
> I assume that all the bkl/locking patches are prerequisites for
> tty-bkl-pushdown.patch, and that they don't depend upon
> tty-bkl-pushdown.patch?

They are all prequisites for some changes I've yet to send you and will
do once I'm sure I've not upset anything in the meantime. There should be
no interdependancies although I've obviously not tested every possible
combination

Alan

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

end of thread, other threads:[~2008-02-23 10:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-20 20:11 [PATCH] amiserial: Prepare for locking relaxation in caller Alan Cox
2008-02-23  8:05 ` Andrew Morton
2008-02-23 10:27   ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).