1. 05 5月, 2015 6 次提交
  2. 29 4月, 2015 5 次提交
  3. 28 4月, 2015 4 次提交
  4. 27 4月, 2015 6 次提交
  5. 26 4月, 2015 3 次提交
    • C
      net: eth: altera: Resolve false errors from MSGDMA to TSE · 20d96964
      Chee Nouk Phoon 提交于
      This patch resolves false errors from MSGDMA in TX mSGDMA MM to ST
      mode, and is a continuation of the patch recently submitted by Andrea
      Oetken. The MSGDMA had a logic bug that masked detection of this issue
      prior to Quartus 14.1/Build 164. When the MSGDMA logic bug was addressed
      in Quartus 14.1/Build 164, the driver problem was exposed.
      
      The problem is corrected by making sure MSGDMA_DESC_CTL_TR_ERR_IRQ is not
      set for any of the transmit DMA descriptors, and only used for receive
      descriptors.
      
      Fixes: 71cd26e7 altera tse: Error-Bit on tx-avalon-stream always set.
      Signed-off-by: NChee Nouk Phoon <cnphoon@altera.com>
      Signed-off-by: Vince Bridgers <vbridger@opensource.altera.com>a
      Cc: Andreas Oetken <ennoerlangen@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      20d96964
    • M
      ehea: Fix memory hook reference counting crashes · 3051f392
      Michael Ellerman 提交于
      The recent commit to only register the EHEA memory hotplug hooks on
      adapter probe has a few problems.
      
      Firstly the reference counting is wrong for multiple adapters, in that
      the hooks are registered multiple times. Secondly the check in the tear
      down path is backward. Finally the error path doesn't decrement the
      count.
      
      The multiple registration of the hooks is the biggest problem, as it
      leads to oopses when the system is rebooted, and/or errors during memory
      hotplug, eg:
      
        $ ./mem-on-off-test.sh -r 2
        ...
        ehea: memory is going offline
        ehea: LPAR memory changed - re-initializing driver
        ehea: re-initializing driver complete
        ehea: memory is going offline
        ehea: LPAR memory changed - re-initializing driver
        ehea: opcode=26c ret=fffffffffffffffc arg1=8000000003000003 arg2=0 arg3=700000060000d600 arg4=3fded0000 arg5=200 arg6=0 arg7=0
        ehea: register_rpage_mr failed
        ehea: registering mr failed
        ehea: register MR failed - driver inoperable!
        ehea: memory is going offline
      
      Fixes: aa183323 ("ehea: Register memory hotplug, reboot and crash hooks on adapter probe")
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3051f392
    • G
      net/tg3: Release IRQs on permanent error · dfc8f370
      Gavin Shan 提交于
      When having permanent EEH error, the PCI device will be removed
      from the system. For this case, we shouldn't set pcierr_recovery
      to true wrongly, which blocks the driver to release the allocated
      interrupts and their handlers. Eventually, we can't disable MSI
      or MSIx successfully because of the MSI or MSIx interrupts still
      have associated interrupt actions, which is turned into following
      stack dump.
      
      Oops: Exception in kernel mode, sig: 5 [#1]
              :
      [c0000000003b76a8] .free_msi_irqs+0x80/0x1a0 (unreliable)
      [c00000000039f388] .pci_remove_bus_device+0x98/0x110
      [c0000000000790f4] .pcibios_remove_pci_devices+0x9c/0x128
      [c000000000077b98] .handle_eeh_events+0x2d8/0x4b0
      [c0000000000782d0] .eeh_event_handler+0x130/0x1c0
      [c000000000022bd4] .kernel_thread+0x54/0x70
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Acked-by: NPrashant Sreedharan <prashant@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dfc8f370
  6. 25 4月, 2015 1 次提交
  7. 24 4月, 2015 5 次提交
    • R
      bgmac: fix requests for extra polling calls from NAPI · e580267d
      Rafał Miłecki 提交于
      After d75b1ade ("net: less interrupt masking in NAPI") polling
      function has to return whole budget when it wants NAPI to call it again.
      Signed-off-by: NRafał Miłecki <zajec5@gmail.com>
      Cc: Felix Fietkau <nbd@openwrt.org>
      Fixes: eb64e292 ("bgmac: leave interrupts disabled as long as there is work to do")
      Acked-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e580267d
    • L
      ethernet: myri10ge: use arch_phys_wc_add() · e4b6c303
      Luis R. Rodriguez 提交于
      This driver already uses ioremap_wc() on the same range
      so when write-combining is available that will be used
      instead.
      
      Cc: Hyong-Youb Kim <hykim@myri.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Suresh Siddha <sbsiddha@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: netdev@vger.kernel.org
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Antonino Daplas <adaplas@gmail.com>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e4b6c303
    • G
      can: CAN_GRCAN should depend on HAS_DMA · 2fb42aab
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      
          drivers/built-in.o: In function `grcan_free_dma_buffers':
          grcan.c:(.text+0x2d7716): undefined reference to `dma_free_coherent'
          drivers/built-in.o: In function `grcan_allocate_dma_buffers':
          grcan.c:(.text+0x2d779c): undefined reference to `dma_alloc_coherent'
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2fb42aab
    • G
      ethernet: arc: ARC_EMAC and EMAC_ROCKCHIP should depend on HAS_DMA · 0357cc1d
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      
          drivers/built-in.o: In function `arc_emac_tx_clean':
          emac_main.c:(.text+0x2decde): undefined reference to `dma_unmap_single'
          drivers/built-in.o: In function `arc_emac_rx':
          emac_main.c:(.text+0x2dee1c): undefined reference to `dma_unmap_single'
          emac_main.c:(.text+0x2dee72): undefined reference to `dma_map_single'
          emac_main.c:(.text+0x2dee7e): undefined reference to `dma_mapping_error'
          drivers/built-in.o: In function `arc_emac_probe':
          (.text+0x2df2ee): undefined reference to `dmam_alloc_coherent'
          drivers/built-in.o: In function `arc_emac_open':
          emac_main.c:(.text+0x2df6d8): undefined reference to `dma_map_single'
          emac_main.c:(.text+0x2df6e4): undefined reference to `dma_mapping_error'
          drivers/built-in.o: In function `arc_emac_tx':
          emac_main.c:(.text+0x2df9e4): undefined reference to `dma_map_single'
          emac_main.c:(.text+0x2df9f0): undefined reference to `dma_mapping_error'
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0357cc1d
    • G
      ethernet: amd: AMD_XGBE should depend on HAS_DMA · 61e77d29
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      
          drivers/built-in.o: In function `xgbe_probe':
          xgbe-main.c:(.text+0x2def0a): undefined reference to `dma_set_mask'
          xgbe-main.c:(.text+0x2def20): undefined reference to `dma_supported'
          drivers/built-in.o: In function `xgbe_rx_poll':
          xgbe-drv.c:(.text+0x2e0320): undefined reference to `dma_sync_single_for_cpu'
          xgbe-drv.c:(.text+0x2e035e): undefined reference to `dma_sync_single_for_cpu'
          drivers/built-in.o: In function `xgbe_unmap_rdata':
          xgbe-desc.c:(.text+0x2e5fe4): undefined reference to `dma_unmap_page'
          xgbe-desc.c:(.text+0x2e5ffa): undefined reference to `dma_unmap_single'
          xgbe-desc.c:(.text+0x2e604a): undefined reference to `dma_unmap_page'
          xgbe-desc.c:(.text+0x2e6084): undefined reference to `dma_unmap_page'
          drivers/built-in.o: In function `xgbe_alloc_pages':
          xgbe-desc.c:(.text+0x2e6156): undefined reference to `dma_map_page'
          xgbe-desc.c:(.text+0x2e6164): undefined reference to `dma_mapping_error'
          drivers/built-in.o: In function `xgbe_free_ring':
          xgbe-desc.c:(.text+0x2e63d4): undefined reference to `dma_unmap_page'
          xgbe-desc.c:(.text+0x2e640e): undefined reference to `dma_unmap_page'
          xgbe-desc.c:(.text+0x2e644a): undefined reference to `dma_free_coherent'
          drivers/built-in.o: In function `xgbe_init_ring':
          xgbe-desc.c:(.text+0x2e64d4): undefined reference to `dma_alloc_coherent'
          drivers/built-in.o: In function `xgbe_map_tx_skb':
          xgbe-desc.c:(.text+0x2e6628): undefined reference to `dma_map_single'
          xgbe-desc.c:(.text+0x2e6638): undefined reference to `dma_mapping_error'
          xgbe-desc.c:(.text+0x2e66b2): undefined reference to `dma_map_single'
          xgbe-desc.c:(.text+0x2e66c2): undefined reference to `dma_mapping_error'
          xgbe-desc.c:(.text+0x2e6762): undefined reference to `dma_map_page'
          xgbe-desc.c:(.text+0x2e6772): undefined reference to `dma_mapping_error'
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      61e77d29
  8. 23 4月, 2015 4 次提交
  9. 22 4月, 2015 4 次提交
    • E
      net/mlx4_core: Fix reading HCA max message size in mlx4_QUERY_DEV_CAP · fab9adfb
      Eran Ben Elisha 提交于
      Currently we parse max_msg_sz from the wrong offset in QUERY_DEV_CAP,
      fix to use the right offset.
      
      Fixes: 0b131561 ('net/mlx4_en: Add Flow control statistics [..]')
      Signed-off-by: NEran Ben Elisha <eranbe@mellanox.com>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fab9adfb
    • M
      ath10k: fix qca61x4 hw2.1 support · 11a002ef
      Michal Kazior 提交于
      During initialization firmware does some sort of
      memory switch between DRAM and IRAM. If
      configuration value for bank switching isn't
      correct device crashes during init.
      
      The new value prevents firmware 11.0.0.302 (and
      possibly others) for qca61x4 hw2.1 from crashing
      during init.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      11a002ef
    • M
      ath10k: allow loading device specific board files · de57e2c8
      Michal Kazior 提交于
      Some devices differ slightly and require different
      board files. If wrong board data is used they
      crash or behave incorrectly.
      
      These devices can be differentiated by looking at
      PCI subsystem device id. That is the case for
      qca61x4 devices at least.
      
      The board specific filename is constructed as:
      
       board-<bus>-<id>.bin
      
      For PCI in particular it is:
      
       board-pci-<vendor>:<dev>:<subsys_vendor>:<subsys_dev>.bin
      
      These files are looked in device/hw specific
      directories. Hence for Killer 1525 (qca6174 hw2.1)
      ath10k will request:
      
        /lib/firmware/ath10k/QCA6174/hw2.1/board-pci-168c:003e:1a56:1525.bin
      
      To not break any existing setups (e.g. in case
      some devices in the wild already have subsys ids)
      if a board specific file isn't found a generic one
      is used which is the one which would be used until
      now. This guarantees that after upgrading a driver
      device will not suddenly stop working due to
      now-missing specific board file. If this is the
      case a "fallback" string is appended to the info
      string when driver boots.
      
      Keep in mind this is distinct from cal-pci-*.bin
      files which contain full calibration data and MAC
      address. Cal data is aimed at systems where
      calibration data is stored out of band, e.g. on
      nand flash instead of device EEPROM - an approach
      taken by some AP/router vendors.
      
      Board files are more of a template and needs some
      bits to be filled in by the OTP program using
      device EEPROM contents.
      
      One could argue to map subsystem ids to some board
      design codename strings instead of using raw ids
      when building the board filename. Using a mapping
      however would make it a lot more cumbersome and
      time consuming (due to how patches propagate over
      various kernel trees) to add support for some new
      device board designs. Adding a board file is a lot
      quicker and doesn't require recompilation.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      de57e2c8
    • M
      ath10k: share board file loading code across FW APIs · d0ed74f3
      Michal Kazior 提交于
      There's no need to implement the same thing twice.
      Reduce code duplication.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d0ed74f3
  10. 21 4月, 2015 2 次提交