1. 27 2月, 2012 1 次提交
  2. 24 2月, 2012 2 次提交
    • O
      iommu/omap: fix NULL pointer dereference · 87997aaa
      Ohad Ben-Cohen 提交于
      Fix this:
      
      root@omap4430-panda:~# cat /debug/iommu/ducati/mem
      [   62.725708] Unable to handle kernel NULL pointer dereference at virtual addre
      ss 0000001c
      [   62.725708] pgd = e6240000
      [   62.737091] [0000001c] *pgd=a7168831, *pte=00000000, *ppte=00000000
      [   62.743682] Internal error: Oops: 17 [#1] SMP
      [   62.743682] Modules linked in: omap_iommu_debug omap_iovmm virtio_rpmsg_bus o
      map_remoteproc remoteproc virtio_ring virtio mailbox_mach mailbox
      [   62.743682] CPU: 0    Not tainted  (3.3.0-rc1-00265-g382f84e-dirty #682)
      [   62.743682] PC is at debug_read_mem+0x5c/0xac [omap_iommu_debug]
      [   62.743682] LR is at 0x1004
      [   62.777832] pc : [<bf033178>]    lr : [<00001004>]    psr: 60000013
      [   62.777832] sp : e72c7f40  ip : c0763c00  fp : 00000001
      [   62.777832] r10: 00000000  r9 : 00000000  r8 : e72c7f80
      [   62.777832] r7 : e6ffdc08  r6 : bed1ac78  r5 : 00001000  r4 : e7276000
      [   62.777832] r3 : e60f3460  r2 : 00000000  r1 : e60f38c0  r0 : 00000000
      [   62.777832] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [   62.816375] Control: 10c53c7d  Table: a624004a  DAC: 00000015
      [   62.816375] Process cat (pid: 1176, stack limit = 0xe72c62f8)
      [   62.828369] Stack: (0xe72c7f40 to 0xe72c8000)
      ...
      [   62.884185] [<bf033178>] (debug_read_mem+0x5c/0xac [omap_iommu_debug]) from [<c010e354>] (vfs_read+0xac/0x130)
      [   62.884185] [<c010e354>] (vfs_read+0xac/0x130) from [<c010e4a8>] (sys_read+0x40/0x70)
      [   62.884185] [<c010e4a8>] (sys_read+0x40/0x70) from [<c0014a00>] (ret_fast_syscall+0x0/0x3c)
      
      Fix also its 'echo bla > /debug/iommu/ducati/mem' Oops sibling, too.
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Hiroshi Doyu <hdoyu@nvidia.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Joerg Roedel <Joerg.Roedel@amd.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NJoerg Roedel <joerg.roedel@amd.com>
      87997aaa
    • O
      iommu/omap: fix erroneous omap-iommu-debug API calls · 46451d62
      Ohad Ben-Cohen 提交于
      Adapt omap-iommu-debug to the latest omap-iommu API changes, which
      were introduced by commit fabdbca8 "iommu/omap: eliminate the public
      omap_find_iommu_device() method".
      
      In a nutshell, iommu users are not expected to provide the omap_iommu
      handle anymore - instead, iommus are attached using their user's device
      handle.
      
      omap-iommu-debug is a hybrid beast though: it invokes both public and
      private omap iommu API, so fix it as necessary (otherwise a crash
      is imminent).
      
      Note: omap-iommu-debug is a bit disturbing, as it fiddles with internal
      omap iommu data and requires exposing API which is otherwise not needed.
      It should better be more tightly coupled with omap-iommu, to prevent
      further bit rot and avoid exposing redundant API. Naturally that's out
      of scope for the -rc cycle, so for now just fix the obvious.
      Reported-by: NRussell King <linux@arm.linux.org.uk>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Hiroshi Doyu <hdoyu@nvidia.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Joerg Roedel <Joerg.Roedel@amd.com>
      Signed-off-by: NJoerg Roedel <joerg.roedel@amd.com>
      46451d62
  3. 30 1月, 2012 1 次提交
  4. 23 1月, 2012 1 次提交
    • J
      iommu/amd: Work around broken IVRS tables · af1be049
      Joerg Roedel 提交于
      On some systems the IVRS table does not contain all PCI
      devices present in the system. In case a device not present
      in the IVRS table is translated by the IOMMU no DMA is
      possible from that device by default.
      This patch fixes this by removing the DTE entry for every
      PCI device present in the system and not covered by IVRS.
      
      Cc: stable@vger.kernel.org # >= 3.0
      Signed-off-by: NJoerg Roedel <joerg.roedel@amd.com>
      af1be049
  5. 19 1月, 2012 4 次提交
  6. 18 1月, 2012 31 次提交