1. 10 6月, 2009 1 次提交
    • K
      [SCSI] mpt fusion: Fixing 1078 data corruption issue for 36GB memory region · 14d0f0b0
      Kashyap, Desai 提交于
      The reason for this change is there is a data corruption when four different
      physical memory regions in the 36GB to 37GB region are
      accessed. This is only affecting 1078.
      
      The solution is we need to use different addressing when filling in
      the scatter gather table for the effected memory regions.  So instead
      of snooping on all four different memory holes, we treat any physical
      addresses in the 36GB address with the same algorithm.
      
      The fix is explained below
      1) Ensure that the message frames are NOT located in the trouble
      region. There is no remapping available for message frames, they must
      be allocated outside the problem region.
      2) Ensure that Sense buffers are NOT in the trouble region. There is
      no remapping available.
      3) Walk through the SGE entries and if any are inside the trouble region
         then they need to be remapped as discussed below.
      	1) Set the Local Address bit in the SGE Flags field.
        	MPI_SGE_FLAGS_LOCAL_ADDRESS
        	2) Ensure we are using 64-bit SGEs
        	3) Set MSb (Bit 63) of the 64-bit address, this will indicate buffer
      	location is Host Memory.
      Signed-off-by: NKashyap Desai <kadesai@lsi.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      14d0f0b0
  2. 22 4月, 2009 1 次提交
    • E
      scsi: mpt: suppress debugobjects warning · b298cecb
      Eric Paris 提交于
      Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13133
      
      ODEBUG: object is on stack, but not annotated
      ------------[ cut here ]------------
      WARNING: at lib/debugobjects.c:253 __debug_object_init+0x1f3/0x276()
      Hardware name: VMware Virtual Platform
      Modules linked in: mptspi(+) mptscsih mptbase scsi_transport_spi ext3 jbd mbcache
      Pid: 540, comm: insmod Not tainted 2.6.28-mm1 #2
      Call Trace:
       [<c042c51c>] warn_slowpath+0x74/0x8a
       [<c0469600>] ? start_critical_timing+0x96/0xb7
       [<c060c8ea>] ? _spin_unlock_irqrestore+0x2f/0x3c
       [<c0446fad>] ? trace_hardirqs_off_caller+0x18/0xaf
       [<c044704f>] ? trace_hardirqs_off+0xb/0xd
       [<c060c8ea>] ? _spin_unlock_irqrestore+0x2f/0x3c
       [<c042cb84>] ? release_console_sem+0x1a5/0x1ad
       [<c05013e6>] __debug_object_init+0x1f3/0x276
       [<c0501494>] debug_object_init+0x13/0x17
       [<c0433c56>] init_timer+0x10/0x1a
       [<e08e5b54>] mpt_config+0x1c1/0x2b7 [mptbase]
       [<e08e3b82>] ? kmalloc+0x8/0xa [mptbase]
       [<e08e3b82>] ? kmalloc+0x8/0xa [mptbase]
       [<e08e6fa2>] mpt_do_ioc_recovery+0x950/0x1212 [mptbase]
       [<c04496c2>] ? __lock_acquire+0xa69/0xacc
       [<c060c8f1>] ? _spin_unlock_irqrestore+0x36/0x3c
       [<c060c3af>] ? _spin_unlock_irq+0x22/0x26
       [<c04f2d8b>] ? string+0x2b/0x76
       [<c04f310e>] ? vsnprintf+0x338/0x7b3
       [<c04496c2>] ? __lock_acquire+0xa69/0xacc
       [<c060c8ea>] ? _spin_unlock_irqrestore+0x2f/0x3c
       [<c04496c2>] ? __lock_acquire+0xa69/0xacc
       [<c044897d>] ? debug_check_no_locks_freed+0xeb/0x105
       [<c060c8f1>] ? _spin_unlock_irqrestore+0x36/0x3c
       [<c04488bc>] ? debug_check_no_locks_freed+0x2a/0x105
       [<c0446b8c>] ? lock_release_holdtime+0x43/0x48
       [<c043f742>] ? up_read+0x16/0x29
       [<c05076f8>] ? pci_get_slot+0x66/0x72
       [<e08e89ca>] mpt_attach+0x881/0x9b1 [mptbase]
       [<e091c8e5>] mptspi_probe+0x11/0x354 [mptspi]
      
      Noticing that every caller of mpt_config has its CONFIGPARMS struct
      declared on the stack and thus the &pCfg->timer is always on the stack I
      changed init_timer() to init_timer_on_stack() and it seems to have shut
      up.....
      
      Cc: "Moore, Eric Dean" <Eric.Moore@lsil.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Acked-by: N"Desai, Kashyap" <Kashyap.Desai@lsi.com>
      Cc: <stable@kernel.org>		[2.6.29.x]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b298cecb
  3. 07 4月, 2009 2 次提交
  4. 22 2月, 2009 1 次提交
  5. 14 1月, 2009 2 次提交
  6. 30 12月, 2008 2 次提交
  7. 27 7月, 2008 1 次提交
  8. 22 7月, 2008 1 次提交
  9. 12 7月, 2008 2 次提交
  10. 05 6月, 2008 2 次提交
  11. 08 4月, 2008 3 次提交
  12. 19 3月, 2008 1 次提交
  13. 04 3月, 2008 2 次提交
  14. 22 2月, 2008 1 次提交
  15. 12 2月, 2008 2 次提交
  16. 24 1月, 2008 1 次提交
  17. 13 10月, 2007 8 次提交
  18. 31 7月, 2007 1 次提交
  19. 28 7月, 2007 1 次提交
  20. 19 7月, 2007 2 次提交
  21. 18 6月, 2007 2 次提交
  22. 09 5月, 2007 1 次提交