Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 931f9cde authored by Greg Ungerer's avatar Greg Ungerer Committed by Linus Torvalds
Browse files

m68knommu: fix workqueues in 68328 serial driver



Fix workqueues in 68328 serial driver.

Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a4271387
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -400,9 +400,9 @@ irqreturn_t rs_interrupt(int irq, void *dev_id)
	return IRQ_HANDLED;
	return IRQ_HANDLED;
}
}


static void do_softint(void *private)
static void do_softint(struct work_struct *work)
{
{
	struct m68k_serial	*info = (struct m68k_serial *) private;
	struct m68k_serial	*info = container_of(work, struct m68k_serial, tqueue);
	struct tty_struct	*tty;
	struct tty_struct	*tty;
	
	
	tty = info->tty;
	tty = info->tty;
@@ -424,9 +424,9 @@ static void do_softint(void *private)
 * 	do_serial_hangup() -> tty->hangup() -> rs_hangup()
 * 	do_serial_hangup() -> tty->hangup() -> rs_hangup()
 * 
 * 
 */
 */
static void do_serial_hangup(void *private)
static void do_serial_hangup(struct work_struct *work)
{
{
	struct m68k_serial	*info = (struct m68k_serial *) private;
	struct m68k_serial	*info = container_of(work, struct m68k_serial, tqueue_hangup);
	struct tty_struct	*tty;
	struct tty_struct	*tty;
	
	
	tty = info->tty;
	tty = info->tty;
@@ -1390,8 +1390,8 @@ rs68328_init(void)
	    info->event = 0;
	    info->event = 0;
	    info->count = 0;
	    info->count = 0;
	    info->blocked_open = 0;
	    info->blocked_open = 0;
	    INIT_WORK(&info->tqueue, do_softint, info);
	    INIT_WORK(&info->tqueue, do_softint);
	    INIT_WORK(&info->tqueue_hangup, do_serial_hangup, info);
	    INIT_WORK(&info->tqueue_hangup, do_serial_hangup);
	    init_waitqueue_head(&info->open_wait);
	    init_waitqueue_head(&info->open_wait);
	    init_waitqueue_head(&info->close_wait);
	    init_waitqueue_head(&info->close_wait);
	    info->line = i;
	    info->line = i;