Re: [PATCH 1/2] cxlflash: Fix regression issue with re-ordering patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Mar 23, 2016, at 2:50 PM, Uma Krishnan <ukrishn@xxxxxxxxxxxxxxxxxx> wrote:
> 
> From: "Manoj N. Kumar" <manoj@xxxxxxxxxxxxxxxxxx>
> 
> While running 'sg_reset -H' back to back the following exception was seen:
> 
> [  735.115695] Faulting instruction address: 0xd0000000098c0864
> cpu 0x0: Vector: 300 (Data Access) at [c000000ffffafa80]
>    pc: d0000000098c0864: cxlflash_async_err_irq+0x84/0x5c0 [cxlflash]
>    lr: c00000000013aed0: handle_irq_event_percpu+0xa0/0x310
>    sp: c000000ffffafd00
>   msr: 9000000000009033
>   dar: 2010000
> dsisr: 40000000
>  current = 0xc000000001510880
>  paca    = 0xc00000000fb80000   softe: 0        irq_happened: 0x01
>    pid   = 0, comm = swapper/0
> 
> Linux version 4.5.0-491-26f710d+
> 
> enter ? for help
> [c000000ffffafe10] c00000000013aed0 handle_irq_event_percpu+0xa0/0x310
> [c000000ffffafed0] c00000000013b1a8 handle_irq_event+0x68/0xc0
> [c000000ffffaff00] c0000000001404ec handle_fasteoi_irq+0xec/0x2a0
> [c000000ffffaff30] c00000000013a084 generic_handle_irq+0x54/0x80
> [c000000ffffaff60] c000000000011130 __do_irq+0x80/0x1d0
> [c000000ffffaff90] c000000000024d40 call_do_irq+0x14/0x24
> [c000000001573a20] c000000000011318 do_IRQ+0x98/0x140
> [c000000001573a70] c000000000002594 hardware_interrupt_common+0x114/0x180
> 
> This exception is being hit because the async_err interrupt path performs
> an MMIO to read the interrupt status register. The MMIO region in this
> case is not available.
> 
> Commit 6ded8b3cbd9a ("cxlflash: Unmap problem state area before detaching
> master context") re-ordered the sequence in which term_mc() and stop_afu()
> are called. This introduces a window for interrupts to come in with the
> problem space area unmapped, that did not exist previously.
> 
> The fix is to separate the disabling of all AFU interrupts to a distinct
> function, term_intr() so that it is the first thing that is done in the
> tear down process.
> 
> To keep the initialization process symmetric, separate the AFU interrupt
> setup also to a distinct function: init_intr().
> 
> Fixes: 6ded8b3cbd9a ("cxlflash: Unmap problem state area before detaching master context")
> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx>

Looks good, thanks for the quick turnaround!

Acked-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx>

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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux