1. 17 Oct, 2018 2 commits
    • Parav Pandit's avatar
      RDMA/core: Allow existing drivers to set one sysfs group per device · d4122f5a
      Parav Pandit authored
      Currently many rdma drivers are creating device attribute files using
      device_create_file() with device specific attributes.  Device specific
      attributes should be exposed via well defined netlink device attributes in
      future.
      
      Introduce an API rdma_set_device_sysfs_group() for existing drivers to set
      a group for sysfs attributes for legacy.
      
      This API is only for exposing legacy attributes which existed for sometime
      now.  New drivers should not be using this API and rather follow netlink
      path.
      Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
      Reviewed-by: default avatarDaniel Jurgens <danielj@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      d4122f5a
    • Nathan Chancellor's avatar
      IB/rxe: Remove unnecessary enum values · 0797e6f1
      Nathan Chancellor authored
      Clang warns when an emumerated type is implicitly converted to another.
      
      drivers/infiniband/sw/rxe/rxe.c:106:27: warning: implicit conversion
      from enumeration type 'enum rxe_device_param' to different enumeration
      type 'enum ib_atomic_cap' [-Wenum-conversion]
              rxe->attr.atomic_cap                    = RXE_ATOMIC_CAP;
                                                      ~ ^~~~~~~~~~~~~~
      drivers/infiniband/sw/rxe/rxe.c:131:22: warning: implicit conversion
      from enumeration type 'enum rxe_port_param' to different enumeration
      type 'enum ib_port_state' [-Wenum-conversion]
              port->attr.state                = RXE_PORT_STATE;
                                              ~ ^~~~~~~~~~~~~~
      drivers/infiniband/sw/rxe/rxe.c:132:24: warning: implicit conversion
      from enumeration type 'enum rxe_port_param' to different enumeration
      type 'enum ib_mtu' [-Wenum-conversion]
              port->attr.max_mtu              = RXE_PORT_MAX_MTU;
                                              ~ ^~~~~~~~~~~~~~~~
      drivers/infiniband/sw/rxe/rxe.c:133:27: warning: implicit conversion
      from enumeration type 'enum rxe_port_param' to different enumeration
      type 'enum ib_mtu' [-Wenum-conversion]
              port->attr.active_mtu           = RXE_PORT_ACTIVE_MTU;
                                              ~ ^~~~~~~~~~~~~~~~~~~
      drivers/infiniband/sw/rxe/rxe.c:151:24: warning: implicit conversion
      from enumeration type 'enum rxe_port_param' to different enumeration
      type 'enum ib_mtu' [-Wenum-conversion]
                                      ib_mtu_enum_to_int(RXE_PORT_ACTIVE_MTU);
                                      ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~
      5 warnings generated.
      
      Use the appropriate values from the expected enumerated type so no
      conversion needs to happen then remove the unneeded definitions.
      Reported-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      0797e6f1
  2. 16 Oct, 2018 35 commits
  3. 10 Oct, 2018 1 commit
    • Valentine Fatiev's avatar
      IB/mlx5: Unmap DMA addr from HCA before IOMMU · dd9a4034
      Valentine Fatiev authored
      The function that puts back the MR in cache also removes the DMA address
      from the HCA. Therefore we need to call this function before we remove
      the DMA mapping from MMU. Otherwise the HCA may access a memory that
      is no longer DMA mapped.
      
      Call trace:
      NMI: IOCK error (debug interrupt?) for reason 71 on CPU 0.
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.19.0-rc6+ #4
      Hardware name: HP ProLiant DL360p Gen8, BIOS P71 08/20/2012
      RIP: 0010:intel_idle+0x73/0x120
      Code: 80 5c 01 00 0f ae 38 0f ae f0 31 d2 65 48 8b 04 25 80 5c 01 00 48 89 d1 0f 60 02
      RSP: 0018:ffffffff9a403e38 EFLAGS: 00000046
      RAX: 0000000000000030 RBX: 0000000000000005 RCX: 0000000000000001
      RDX: 0000000000000000 RSI: ffffffff9a5790c0 RDI: 0000000000000000
      RBP: 0000000000000030 R08: 0000000000000000 R09: 0000000000007cf9
      R10: 000000000000030a R11: 0000000000000018 R12: 0000000000000000
      R13: ffffffff9a5792b8 R14: ffffffff9a5790c0 R15: 0000002b48471e4d
      FS:  0000000000000000(0000) GS:ffff9c6caf400000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007f5737185000 CR3: 0000000590c0a002 CR4: 00000000000606f0
      Call Trace:
       cpuidle_enter_state+0x7e/0x2e0
       do_idle+0x1ed/0x290
       cpu_startup_entry+0x6f/0x80
       start_kernel+0x524/0x544
       ? set_init_arg+0x55/0x55
       secondary_startup_64+0xa4/0xb0
      DMAR: DRHD: handling fault status reg 2
      DMAR: [DMA Read] Request device [04:00.0] fault addr b34d2000 [fault reason 06] PTE Read access is not set
      DMAR: [DMA Read] Request device [01:00.2] fault addr bff8b000 [fault reason 06] PTE Read access is not set
      
      Fixes: f3f134f5 ("RDMA/mlx5: Fix crash while accessing garbage pointer and freed memory")
      Signed-off-by: default avatarValentine Fatiev <valentinef@mellanox.com>
      Reviewed-by: default avatarMoni Shoua <monis@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      dd9a4034
  4. 05 Oct, 2018 2 commits