1. 19 2月, 2014 2 次提交
  2. 24 1月, 2014 1 次提交
    • G
      net/cxgb4: Avoid disabling PCI device for towice · 144be3d9
      Gavin Shan 提交于
      If we have EEH error happens to the adapter and we have to remove
      it from the system for some reasons (e.g. more than 5 EEH errors
      detected from the device in last hour), the adapter will be disabled
      for towice separately by eeh_err_detected() and remove_one(), which
      will incur following unexpected backtrace. The patch tries to avoid
      it.
      
      WARNING: at drivers/pci/pci.c:1431
      CPU: 12 PID: 121 Comm: eehd Not tainted 3.13.0-rc7+ #1
      task: c0000001823a3780 ti: c00000018240c000 task.ti: c00000018240c000
      NIP: c0000000003c1e40 LR: c0000000003c1e3c CTR: 0000000001764c5c
      REGS: c00000018240f470 TRAP: 0700   Not tainted  (3.13.0-rc7+)
      MSR: 8000000000029032 <SF,EE,ME,IR,DR,RI>  CR: 28000024  XER: 00000004
      CFAR: c000000000706528 SOFTE: 1
      GPR00: c0000000003c1e3c c00000018240f6f0 c0000000010fe1f8 0000000000000035
      GPR04: 0000000000000000 0000000000000000 00000000003ae509 0000000000000000
      GPR08: 000000000000346f 0000000000000000 0000000000000000 0000000000003fef
      GPR12: 0000000028000022 c00000000ec93000 c0000000000c11b0 c000000184ac3e40
      GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      GPR24: 0000000000000000 c0000000009398d8 c00000000101f9c0 c0000001860ae000
      GPR28: c000000182ba0000 00000000000001f0 c0000001860ae6f8 c0000001860ae000
      NIP [c0000000003c1e40] .pci_disable_device+0xd0/0xf0
      LR [c0000000003c1e3c] .pci_disable_device+0xcc/0xf0
      Call Trace:
      [c0000000003c1e3c] .pci_disable_device+0xcc/0xf0 (unreliable)
      [d0000000073881c4] .remove_one+0x174/0x320 [cxgb4]
      [c0000000003c57e0] .pci_device_remove+0x60/0x100
      [c00000000046396c] .__device_release_driver+0x9c/0x120
      [c000000000463a20] .device_release_driver+0x30/0x60
      [c0000000003bcdb4] .pci_stop_bus_device+0x94/0xd0
      [c0000000003bcf48] .pci_stop_and_remove_bus_device+0x18/0x30
      [c00000000003f548] .pcibios_remove_pci_devices+0xa8/0x140
      [c000000000035c00] .eeh_handle_normal_event+0xa0/0x3c0
      [c000000000035f50] .eeh_handle_event+0x30/0x2b0
      [c0000000000362c4] .eeh_event_handler+0xf4/0x1b0
      [c0000000000c12b8] .kthread+0x108/0x130
      [c00000000000a168] .ret_from_kernel_thread+0x5c/0x74
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      144be3d9
  3. 10 1月, 2014 1 次提交
  4. 23 12月, 2013 2 次提交
  5. 04 12月, 2013 2 次提交
  6. 22 10月, 2013 1 次提交
  7. 13 8月, 2013 1 次提交
  8. 01 6月, 2013 1 次提交
    • J
      cxgb4: Force uninitialized state if FW_ON_ADAPTER is < FW_VERSION and we're the MASTER_PF · e69972f5
      Jay Hernandez 提交于
      Forcing uninitialized state allows us to upgrade and reinitialize the adapter.
      
      FW_VERSION_T4 = 1.4.0.0
      FW_VERSION_T5 = 0.0.0.0
      At this point driver supports above and greater than above version of firmware.
      If it doesn't find the required firmware version than it forces the adapter to
      be reinitialized as shown below.
      
      1) If FW_ON_ADAPTER < FW_VERSION and we're the MASTER_PF force uninitialized
         state and a FW upgrade if available.
      
             - If FW_ON_ADAPTER < /lib/firmware/cxgb4/t*fw.bin we will update the
               adapters FW.
             - If FW_ON_ADAPTER >= /lib/firmware/cxgb4/t*fw.bin don't upgrade FW.
             - If upgrade_fw() fails force reinitialization of the adapter anyways,
               it might still work.
      
         Either way forcing the uninitialized state allows cxgb4 reinitialize FW.
      
      2) If FW_ON_ADAPTER >= FW_VERSION driver follows normal path.
      Signed-off-by: NJay Hernandez <jay@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e69972f5
  9. 14 3月, 2013 4 次提交
  10. 20 12月, 2012 3 次提交
    • V
      RDMA/cxgb4: Fix bug for active and passive LE hash collision path · 793dad94
      Vipul Pandya 提交于
      Retries active opens for INUSE errors.
      
      Logs any active ofld_connect_wr error replies.
      
      Sends ofld_connect_wr on same ctrlq. It needs to go  on the same control txq as
      regular CPL active/passive messages.
      
      Retries on active open replies with EADDRINUSE.
      
      Uses active open fw wr only if active filter region is set.
      
      Adds stat for ofld_connect_wr failures.
      
      This patch also adds debugfs file to show endpoints.
      Signed-off-by: NVipul Pandya <vipul@chelsio.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      793dad94
    • V
      cxgb4: Add LE hash collision bug fix path in LLD driver · dca4faeb
      Vipul Pandya 提交于
      It supports establishing passive open connection through firmware filter work
      request. Passive open connection will go through this path as now instead of
      listening server we create a server filter which will redirect the incoming SYN
      packet to the offload queue.
      
      It divides filter region into regular filters and server filter portion. It
      introduces new server filter region which will be exclusively used for creating
      server filters. This region will not overlap with regular filter region.
      
      It provides new API cxgb4_alloc_sftid in LLD for getting stid in case of LE
      hash collision path. This new stid will be used to open server filter in the
      filter region.
      Signed-off-by: NVipul Pandya <vipul@chelsio.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      dca4faeb
    • V
      cxgb4: Add T4 filter support · f2b7e78d
      Vipul Pandya 提交于
      The T4 architecture is capable of filtering ingress packets at line rate
      using the rule in TCAM. If packet hits a rule in the TCAM then it can be either
      dropped or passed to the receive queues based on a rule settings.
      
      This patch adds framework for managing filters and to use T4's filter
      capabilities. It constructs a Firmware Filter Work Request which writes the
      filter at a specified index to get the work done. It hosts shadow copy of
      ingress filter entry to check field size limitations and save memory in the
      case where the filter table is large.
      Signed-off-by: NVipul Pandya <vipul@chelsio.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      f2b7e78d
  11. 22 10月, 2012 1 次提交
  12. 09 10月, 2012 1 次提交
  13. 04 10月, 2012 1 次提交
  14. 28 9月, 2012 6 次提交
  15. 19 5月, 2012 3 次提交
  16. 21 10月, 2011 1 次提交
  17. 11 8月, 2011 1 次提交
  18. 22 7月, 2011 1 次提交
  19. 18 4月, 2011 1 次提交
  20. 17 12月, 2010 3 次提交
  21. 25 10月, 2010 1 次提交
  22. 21 10月, 2010 1 次提交
  23. 24 8月, 2010 1 次提交