[SCSI] aacraid: add an iounmap call to aac_src_ioremap
authorTomas Henzl <thenzl@redhat.com>
Thu, 29 Mar 2012 15:23:46 +0000 (17:23 +0200)
committerJames Bottomley <JBottomley@Parallels.com>
Mon, 23 Apr 2012 18:28:24 +0000 (19:28 +0100)
The patch 116046127d1a3bad2853d02781ad9fee33f05e5a "[SCSI] aacraid: Added
Sync.mode to support series 7/8/9 controllers" removed an iounmap call from
aac_src_ioremap. Before that, the iounmap has been called twice with the same
value (dev->base and dev->regs.src.bar0) and the iounmap complained about it
(iounmap: bad address ...).

The proper solution is a change the paremeter from bar0 to bar1.
Fix this by adding a an iounmap(dev->regs.src.bar1) call.

Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Acked-by: Achim Leubner <achim_leubner@pmc-sierra.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/aacraid/src.c

index 2bee51506a910805ef5d961d1b289fba7c7cc1e6..76282063630434b8ffddaeb840f0760d2d3618ab 100644 (file)
@@ -424,6 +424,8 @@ static int aac_src_deliver_message(struct fib *fib)
 static int aac_src_ioremap(struct aac_dev *dev, u32 size)
 {
        if (!size) {
+               iounmap(dev->regs.src.bar1);
+               dev->regs.src.bar1 = NULL;
                iounmap(dev->regs.src.bar0);
                dev->base = dev->regs.src.bar0 = NULL;
                return 0;