[resend patch] HVSI hangup oops

From: Hollis Blanchard
Date: Wed Oct 27 2004 - 14:42:49 EST


Hi Linus, I've tested this with the current BK tree as you requested.

Testing revealed that the HVSI driver could oops if carrier
detect dropped mid-data transfer. Please apply this fix.

Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>

--
Hollis Blanchard
IBM Linux Technology Center

--- drivers/char/hvsi.c.orig 2004-10-11 11:36:36.000000000 -0500
+++ drivers/char/hvsi.c 2004-10-11 13:24:13.000000000 -0500
@@ -927,11 +927,17 @@ static void hvsi_close(struct tty_struct
static void hvsi_hangup(struct tty_struct *tty)
{
struct hvsi_struct *hp = tty->driver_data;
+ unsigned long flags;

pr_debug("%s\n", __FUNCTION__);

+ spin_lock_irqsave(&hp->lock, flags);
+
hp->count = 0;
+ hp->n_outbuf = 0;
hp->tty = NULL;
+
+ spin_unlock_irqrestore(&hp->lock, flags);
}

/* called with hp->lock held */


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/