1. 17 9月, 2014 2 次提交
  2. 26 7月, 2014 3 次提交
    • J
      mptfusion: tweak null pointer checks · 9f21316f
      Joe Lawrence 提交于
      Fixes the following smatch warnings:
      
        drivers/message/fusion/mptbase.c:652 mptbase_reply() warn: variable
          dereferenced before check 'reply' (see line 639)
      
            [JL: No-brainer, the enclosing switch statement dereferences
             reply, so we can't get here unless reply is valid.]
      
        drivers/message/fusion/mptsas.c:1255 mptsas_taskmgmt_complete() error:
          we previously assumed 'pScsiTmReply' could be null (see line 1227)
      
            [HCH: Reading the code in mptsas_taskmgmt_complete it's pretty
             obvious that it can't do anything useful if mr/pScsiTmReply are
             NULL, so I suspect it would be best to just return at the
             beginning of the function.
      
             I'd love to understand if it actually could ever be zero, which I
             doubt.  Maybe the LSI people can shed some light on that?]
      
        drivers/message/fusion/mptsas.c:3888 mptsas_not_responding_devices()
          error: we previously assumed 'port_info->phy_info' could be null
          (see line 3875)
      
            [HCH: It's pretty obvious from reading mptsas_sas_io_unit_pg0 that
             we never register a port_info with a NULL phy_info in the lists,
             so all NULL checks on it could be deleted.]
      
        drivers/message/fusion/mptscsih.c:1284 mptscsih_info() error:
          we previously assumed 'h' could be null (see line 1274)
      
            [HCH: shost_priv can't return NULL, so the if (h) should be
             removed.]
      
        drivers/message/fusion/mptscsih.c:1388 mptscsih_qcmd() error: we
          previously assumed 'vdevice' could be null (see line 1373)
      
            [HCH: vdevice can't ever be NULL here, it's allocated in
             ->slave_alloc and thus guaranteed to be around when
             ->queuecommand is called.]
      Signed-off-by: NJoe Lawrence <joe.lawrence@stratus.com>
      Acked-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      9f21316f
    • J
      mptfusion: make adapter prod_name[] a pointer · c9834c70
      Joe Lawrence 提交于
      The struct _MPT_ADAPTER doesn't need a full copy of the product string,
      so prod_name can point to the string literal storage that the driver
      already provides.
      
      Avoids the following smatch warning:
      
        drivers/message/fusion/mptbase.c:2858 MptDisplayIocCapabilities()
          warn: this array is probably non-NULL. 'ioc->prod_name'
      Signed-off-by: NJoe Lawrence <joe.lawrence@stratus.com>
      Acked-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      c9834c70
    • J
      mptfusion: mark file-private functions as static · 5767d25f
      Joe Lawrence 提交于
      Fixes the following sparse warnings:
      
        drivers/message/fusion/mptbase.c:7011:1: warning: symbol
          'mpt_SoftResetHandler' was not declared. Should it be static?
      
        drivers/message/fusion/mptsas.c:1578:23: warning: symbol
          'mptsas_refreshing_device_handles' was not declared. Should it be
          static?
      
        drivers/message/fusion/mptsas.c:3653:24: warning: symbol
          'mptsas_expander_add' was not declared. Should it be static?
      
        drivers/message/fusion/mptsas.c:5327:1: warning: symbol
          'mptsas_shutdown' was not declared. Should it be static?
      
        drivers/message/fusion/mptspi.c:624:1: warning: symbol
          'mptscsih_quiesce_raid' was not declared. Should it be static?
      Signed-off-by: NJoe Lawrence <joe.lawrence@stratus.com>
      Acked-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      5767d25f
  3. 29 5月, 2014 1 次提交
  4. 15 1月, 2014 1 次提交
  5. 10 4月, 2013 1 次提交
    • A
      procfs: new helper - PDE_DATA(inode) · d9dda78b
      Al Viro 提交于
      The only part of proc_dir_entry the code outside of fs/proc
      really cares about is PDE(inode)->data.  Provide a helper
      for that; static inline for now, eventually will be moved
      to fs/proc, along with the knowledge of struct proc_dir_entry
      layout.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d9dda78b
  6. 15 9月, 2012 1 次提交
  7. 01 6月, 2012 1 次提交
  8. 22 5月, 2012 1 次提交
  9. 28 2月, 2012 1 次提交
  10. 15 12月, 2011 1 次提交
  11. 27 8月, 2011 2 次提交
    • K
      [SCSI] mptfusion: Fix for device offline while doing aggressive HBA reset · 98cbe371
      kashyap.desai@lsi.com 提交于
      [Resend patch as per Bernd Schubert comment ]
      
      Issue:
      
      Device goes offline while doing aggressive HBA reset
      along with IO using some utility.
      
      Root cause:
      
      FW goes into bad state due to aggressive reset. Softreset does not
      help to recover FW. And also aggressive reset open up the window for
      Error handling thread to kicked off at the same time HBA will be in
      constant RESET loop as part of aggressive reset test case can lead
      Device to goes offline.
      
      Changes:
      
      1. Added extra check as below inside eh_timed_out call back as below.
         if(ioc->ioc_reset_in_progress) Rc = EH_TIMER_RESET
      
      2. Removed " DOORBELL_ACTIVE" check for SAS controller from task
         management context.  Since SAS controller uses high priority queue
         for task management. This check is not required for SAS controller.
      
      3. Moved SoftReset call to HardReset from Task Mgmt context.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      98cbe371
    • K
      [SCSI] mptfusion: Better handling of DEAD IOC PCI-E Link down error condition · e62cca19
      kashyap.desai@lsi.com 提交于
      Find Non-Operation IOC and remove it from OS: Detecting
      dead(non-functional) ioc will be done reading doorbell register value
      from fault reset thread, which has been called from work thread
      context after each specific interval. If doorbell value is 0xFFFFFFFF,
      it will be considered as IOC is non-operational and marked as dead
      ioc.
      
      Once Dead IOC has been detected, it will be removed at pci layer using
      "pci_remove_bus_device" API.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      e62cca19
  12. 26 4月, 2011 1 次提交
  13. 31 3月, 2011 1 次提交
  14. 13 2月, 2011 1 次提交
  15. 02 11月, 2010 1 次提交
  16. 06 9月, 2010 1 次提交
  17. 15 8月, 2010 2 次提交
  18. 11 8月, 2010 4 次提交
  19. 28 7月, 2010 6 次提交
  20. 17 6月, 2010 1 次提交
  21. 11 4月, 2010 2 次提交
  22. 19 1月, 2010 1 次提交
  23. 18 1月, 2010 1 次提交
    • A
      [SCSI] mptsas: Fix issue with chain pools allocation on katmai · f1053a7c
      Anatolij Gustschin 提交于
      Since commit 9d2e9d66
      mptsas driver fails to allocate memory for the MPT chain buffers
      for second LSI adapter on PPC440SPe Katmai platform:
      ...
      ioc1: LSISAS1068E B3: Capabilities={Initiator}
      mptbase: ioc1: ERROR - Unable to allocate Reply, Request, Chain Buffers!
      mptbase: ioc1: ERROR - didn't initialize properly! (-3)
      mptsas: probe of 0002:31:00.0 failed with error -3
      
      This commit increased MPT_FC_CAN_QUEUE value but initChainBuffers()
      doesn't differentiate between SAS and FC causing increased allocation
      for SAS case, too. Later pci_alloc_consistent() fails to allocate
      increased chain buffer pool size for SAS case.
      
      Provide a fix by looking at the bus type and using appropriate
      MPT_SAS_CAN_QUEUE value while calculation of the number of chain
      buffers.
      Signed-off-by: NAnatolij Gustschin <agust@denx.de>
      Acked-by: NKashyap Desai <kashyap.desai@lsi.com>
      Cc: Stable Tree <stable@kernel.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      f1053a7c
  24. 10 12月, 2009 1 次提交
  25. 21 9月, 2009 1 次提交
  26. 12 9月, 2009 1 次提交