The patch titled Char: istallion, init+locking fixes has been added to the -mm tree. Its filename is char-istallion-initlocking-fixes-try-2.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Char: istallion, init+locking fixes From: Ingo Korb <ml@xxxxxxxx> Move brdp->iosize assignment in stli_initecp up a few lines to stop the driver from requesting an I/O region of length 0. Remove spin_lock_irqsave/spin_unlock_irqrestore from __stli_sendcmd as all users of that function take the lock already. Signed-off-by: Ingo Korb <ml@xxxxxxxx> Cc: Jiri Slaby <jirislaby@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/char/istallion.c | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-) diff -puN drivers/char/istallion.c~char-istallion-initlocking-fixes-try-2 drivers/char/istallion.c --- a/drivers/char/istallion.c~char-istallion-initlocking-fixes-try-2 +++ a/drivers/char/istallion.c @@ -2166,14 +2166,10 @@ static void __stli_sendcmd(struct stlibr cdkhdr_t __iomem *hdrp; cdkctrl_t __iomem *cp; unsigned char __iomem *bits; - unsigned long flags; - - spin_lock_irqsave(&brd_lock, flags); if (test_bit(ST_CMDING, &portp->state)) { printk(KERN_ERR "STALLION: command already busy, cmd=%x!\n", (int) cmd); - spin_unlock_irqrestore(&brd_lock, flags); return; } @@ -2194,7 +2190,6 @@ static void __stli_sendcmd(struct stlibr writeb(readb(bits) | portp->portbit, bits); set_bit(ST_CMDING, &portp->state); EBRDDISABLE(brdp); - spin_unlock_irqrestore(&brd_lock, flags); } static void stli_sendcmd(struct stlibrd *brdp, struct stliport *portp, unsigned long cmd, void *arg, int size, int copyback) @@ -3218,13 +3213,13 @@ static int stli_initecp(struct stlibrd * goto err; } + brdp->iosize = ECP_IOSIZE; + if (!request_region(brdp->iobase, brdp->iosize, "istallion")) { retval = -EIO; goto err; } - brdp->iosize = ECP_IOSIZE; - /* * Based on the specific board type setup the common vars to access * and enable shared memory. Set all board specific information now _ Patches currently in -mm which might be from ml@xxxxxxxx are char-istallion-initlocking-fixes-try-2.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html