lkml.org 
[lkml]   [2020]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 375/393] parisc: mask out enable and reserved bits from sba imask
    Date
    From: Sven Schnelle <svens@stackframe.org>

    commit 5b24993c21cbf2de11aff077a48c5cb0505a0450 upstream.

    When using kexec the SBA IOMMU IBASE might still have the RE
    bit set. This triggers a WARN_ON when trying to write back the
    IBASE register later, and it also makes some mask calculations fail.

    Cc: <stable@vger.kernel.org>
    Signed-off-by: Sven Schnelle <svens@stackframe.org>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/parisc/sba_iommu.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/parisc/sba_iommu.c
    +++ b/drivers/parisc/sba_iommu.c
    @@ -1270,7 +1270,7 @@ sba_ioc_init_pluto(struct parisc_device
    ** (one that doesn't overlap memory or LMMIO space) in the
    ** IBASE and IMASK registers.
    */
    - ioc->ibase = READ_REG(ioc->ioc_hpa + IOC_IBASE);
    + ioc->ibase = READ_REG(ioc->ioc_hpa + IOC_IBASE) & ~0x1fffffULL;
    iova_space_size = ~(READ_REG(ioc->ioc_hpa + IOC_IMASK) & 0xFFFFFFFFUL) + 1;

    if ((ioc->ibase < 0xfed00000UL) && ((ioc->ibase + iova_space_size) > 0xfee00000UL)) {

    \
     
     \ /
      Last update: 2020-08-17 20:39    [W:4.111 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site