1. 05 12月, 2011 5 次提交
    • J
      ixgbe: DCB: IEEE transitions may fail to reprogram hardware. · 43497cc2
      John Fastabend 提交于
      Transitioning through an IEEE DCBX version from a CEE DCBX
      and back (CEE->IEEE->CEE) may leave IEEE attributes programmed
      in the hardware. DCB uses a bit field in the set routines to
      determine which attributes PG, PFC, APP need to be reprogrammed.
      This is needed because user flow allows queueing a series
      of changes and then reprogramming the hardware with the
      entire set in one operation.
      
      When transitioning from IEEE DCBX mode back into CEE DCBX
      mode the PG and PFC bits need to be set so the possibly
      
      different CEE attributes get programmed into the device.
      
      This patch fixes broken logic that was evaluating to 0
      and never setting any bits. Further this removes some
      checks for num_tc in set routines. This logic only worked
      when the number of traffic classes and user priorities
      were equal. This is no longer the case for X540 devices.
      Besides we can trust user input in this case if the
      device is incorrectly configured the DCB bandwidths will
      be incorrectly mapped but no OOPs, BUG, or hardware
      failure will occur.
      Signed-off-by: NJohn Fastabend <john.r.fastabend@intel.com>
      Tested-by: NRoss Brattain <ross.b.brattain@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      43497cc2
    • J
      ixgbe: DCBnl set_all, order of operations fix · 4909fe97
      John Fastabend 提交于
      The order of operations is important in DCBnl set_all(). When FCoE
      is configured it uses the up2tc map to learn which queues to configure
      the hardware offloads on. Therefore we need to setup the map before
      configuring FCoE.
      
      This is only seen when the both up2tc mappings and APP info are
      configured simultaneously.
      Signed-off-by: NJohn Fastabend <john.r.fastabend@intel.com>
      Tested-by: NRoss Brattain <ross.b.brattain@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      4909fe97
    • M
      igb: Update DMA Coalescing threshold calculation. · e8c626e9
      Matthew Vick 提交于
      This patch updates the DMA Coalescing feature parameters to account for
      larger MTUs. Previously, sufficient space may not have been allocated in
      the receive buffer, causing packet drop.
      Signed-off-by: NMatthew Vick <matthew.vick@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      e8c626e9
    • B
      e1000e: hitting BUG_ON() from napi_enable · 5f4a780d
      Bruce Allan 提交于
      Based on a patch from Mike McElroy created against the out-of-tree e1000e
      driver:
      
      Hitting the BUG_ON in napi_enable(). Code inspection shows that this can
      only be triggered by calling napi_enable() twice without an intervening
      napi_disable().
      
      I saw the following sequence of events in the stack trace:
      
      1) We simulated a cable pull using an Extreme switch.
      2) e1000_tx_timeout() was entered.
      3) e1000_reset_task() was called. Saw the message from e_err() in the
      console log.
      4) e1000_reinit_locked was called. This function calls e1000_down() and
      e1000_up(). These functions call napi_disable() and napi_enable()
      respectively.
      5) Then on another thread, a monitor task saw carrier was down and executed
      'ip set link down' and 'ip set link up' commands.
      6) Saw the '_E1000_RESETTING'warning fron the e1000_close function.
      7) Either the e1000_open() executed between the e1000_down() and e1000_up()
      calls in step 4 or the e1000_open() call executed after the e1000_up()
      call.  In either case, napi_enable() is called twice which triggers the
      BUG_ON.
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Cc: Mike McElroy <mike.mcelroy@stratus.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      5f4a780d
    • J
      e1000e: Avoid wrong check on TX hang · 09357b00
      Jeff Kirsher 提交于
      Based on the original patch submitted my Michael Wang
      <wangyun@linux.vnet.ibm.com>.
      Descriptors may not be write-back while checking TX hang with flag
      FLAG2_DMA_BURST on.
      So when we detect hang, we just flush the descriptor and detect
      again for once.
      
      -v2 change 1 to true and 0 to false and remove extra ()
      
      CC: Michael Wang <wangyun@linux.vnet.ibm.com>
      CC: Flavio Leitner <fbl@redhat.com>
      Acked-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      09357b00
  2. 03 12月, 2011 4 次提交
  3. 02 12月, 2011 26 次提交
  4. 01 12月, 2011 5 次提交