1. 13 11月, 2007 11 次提交
  2. 06 11月, 2007 1 次提交
  3. 22 10月, 2007 4 次提交
  4. 16 10月, 2007 2 次提交
  5. 12 10月, 2007 3 次提交
  6. 11 10月, 2007 15 次提交
  7. 11 9月, 2007 1 次提交
    • M
      [TG3]: Workaround MSI bug on 5714/5780. · 2fbe43f6
      Michael Chan 提交于
      A hardware bug was revealed after a recent PCI MSI patch was made to
      always disable legacy INTX when enabling MSI.  The 5714/5780 chips
      will not generate MSI when INTX is disabled, causing MSI failure
      messages to be reported, and another patch was made to workaround the
      problem by disabling MSI on ServerWorks HT1000 bridge chips commonly
      found with the 5714.
      
      We workaround this chip bug by enabling INTX after we enable MSI and
      after we resume from suspend.
      
      Update version to 3.81.
      
      This problem was discovered by David Miller.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Acked-by: NAndy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2fbe43f6
  8. 04 8月, 2007 1 次提交
    • M
      [TG3]: Fix suspend/resume problem. · 3e0c95fd
      Michael Chan 提交于
      Joachim Deguara <joachim.deguara@amd.com> reported that tg3 devices
      would not resume properly if the device was shutdown before the system
      was suspended.  In such scenario where the netif_running state is 0,
      tg3_suspend() would not save the PCI state and so the memory enable bit
      and bus master enable bit would be lost.
      
      We fix this by always saving and restoring the PCI state in
      tg3_suspend() and tg3_resume() regardless of netif_running() state.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3e0c95fd
  9. 01 8月, 2007 1 次提交
  10. 19 7月, 2007 1 次提交
    • M
      [TG3]: Fix msi issue with kexec/kdump. · ee6a99b5
      Michael Chan 提交于
      Tina Yang <tina.yang@oracle.com> discovered an MSI related problem
      when doing kdump.  The problem is that the kexec kernel is booted
      without going through system reset, and as a result, MSI may already
      be enabled when tg3_init_one() is called.  tg3_init_one() calls
      pci_save_state() which will save the stale MSI state.  Later on in
      tg3_open(), we call pci_enable_msi() to reconfigure MSI on the chip
      before we reset the chip.  After chip reset, we call
      pci_restore_state() which will put the stale MSI address/data back
      onto the chip.
      
      This is no longer a problem in the latest kernel because
      pci_restore_state() has been changed to restore MSI state from
      internal data structures which will guarantee restoring the proper
      MSI state.
      
      But I think we should still fix it.  Our save and restore sequence
      can still cause very subtle problems down the road.  The fix is to
      have our own functions save and restore precisely what we need.  We
      also change it to save and restore state inside tg3_chip_reset() in a
      more straight forward way.
      
      Thanks to Tina for helping to test and debug the problem.
      
      [ Bump driver version and release date. -DaveM ]
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ee6a99b5