1. 16 4月, 2016 2 次提交
    • S
      megaraid_sas: call ISR function to clean up pending replies in OCR path · 64d0b8e4
      Sumit Saxena 提交于
      In OCR path, before calling chip reset calls function
      megasas_wait_for_outstanding_fusion to check reason for OCR. In case of
      firmware FAULT initiated OCR and DCMD timeout initiated timeout, driver
      will clear any outstanding reply (yet to be processed by driver) in
      reply queues before going for chip reset. This code is added to handle a
      scenario when IO timeout initiated adapter reset and management
      application initiated adapter reset (by sending command to FAULT
      firmware) happens simultaneously since adapter reset function is
      safe-guarded by reset_mutex so only thread will be doing controller
      reset. Consider IO timeout thread gets mutex and proceeds with adapter
      reset process after disabling interrupts and by the time management
      application has fired command to firmware to do adapter reset and the
      same command is completed by firmware but since interrupts are disabled,
      driver will not get completion and the same command will be in
      outstanding/pending commands list of driver and refires same command
      from IO timeout thread after chip reset which will again FAULT firmware
      and eventually causes kill adapter.
      Signed-off-by: NSumit Saxena <sumit.saxena@broadcom.com>
      Reviewed-by: NHannes Reinicke <hare@suse.de>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      64d0b8e4
    • S
      megaraid_sas: reduce memory footprints in kdump mode · c3e385a1
      Sumit Saxena 提交于
      This patch will reduce memory footprints of megaraid_sas driver when
      booted in kdump mode.  Driver will not allocate memory for optional and
      perfromance oriented features.  Below are key changes done in
      megaraid_sas driver to do this:
      
      1. Limit Controller's queue depth to 100 in kdump mode.
      
      2. Do not allocate memory for system info buffer and PD info buffer.
      
      3. Disable performance oriented features e.g. Disable RDPQ mode, disable
         dual queue depth, restrict to single MSI-x vector.
      Signed-off-by: NSumit Saxena <sumit.saxena@broadcom.com>
      Reviewed-by: NHannes Reinicke <hare@suse.de>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      c3e385a1
  2. 24 2月, 2016 13 次提交
  3. 10 11月, 2015 1 次提交
  4. 29 10月, 2015 7 次提交
  5. 26 8月, 2015 1 次提交
  6. 01 6月, 2015 1 次提交
    • S
      megaraid_sas : Modify return value of megasas_issue_blocked_cmd() and... · 2be2a988
      Sumit.Saxena@avagotech.com 提交于
      megaraid_sas : Modify return value of megasas_issue_blocked_cmd() and wait_and_poll() to consider command status returned by firmware
      
      This patch is rebased on top of recently sent 18 patches(submitted by me) for
      megaraid_sas driver.
      
      Change the return value of wait_and_poll() and megsas_issue_blocked_cmd()
      based on MFI_STAT returned by firmware for that command. Earlier driver always
      send return type based on command completion (but never check MFI_STAT_OK for
      that command), so even if command is failed by firmware still driver will
      return SUCCESS status from these functions wait_and_poll() and
      megsas_issue_blocked_cmd() and if caller of these functions does not check
      command status (MFI_STAT), then it may endup using invalid data returned in
      DMA buffers(one of the example is megasas_ld_list_query DCMD). Best thing to
      avoid this type of issue is do error handling and set proper return type from
      caller function wait_and_poll() and megsas_issue_blocked_cmd().
      
      The change proposed in this patch will fix the regression introduced in patch-
      "90dc9d98 megaraid_sas : MFI MPT linked list corruption fix" inside function
      megasas_ld_list_query().  Prior to this MFI MPT linked list corruption fix
      patch, megasas_ld_list_query() function used to check DCMD status(returned by
      firmware) but with this linked list corruption fix patch, DCMD status will not
      be checked inside function megasas_ld_list_query() and introduced this issue
      of wrong data being used by function megasas_ld_list_query().
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com>
      Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com>
      Reviewed-by: NTomas Henzl <thenzl@redhat.com>
      Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
      2be2a988
  7. 26 5月, 2015 1 次提交
  8. 25 5月, 2015 9 次提交
  9. 17 4月, 2015 1 次提交
  10. 09 1月, 2015 4 次提交