Re: [PATCH 04/10] mpt3sas: separate out _base_recovery_check()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 31, 2017 at 2:55 PM, Hannes Reinecke <hare@xxxxxxx> wrote:
> No functional change.
>
> Signed-off-by: Hannes Reinecke <hare@xxxxxxxx>
> ---
>  drivers/scsi/mpt3sas/mpt3sas_base.c | 23 ++++++++++++++---------
>  1 file changed, 14 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
> index 120b317..dd14596 100644
> --- a/drivers/scsi/mpt3sas/mpt3sas_base.c
> +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
> @@ -2366,6 +2366,19 @@ static int mpt3sas_remove_dead_ioc_func(void *arg)
>  }
>
>  static void
> +_base_recovery_check(struct MPT3SAS_ADAPTER *ioc)
> +{
> +       /*
> +        * See _wait_for_commands_to_complete() call with regards to this code.
> +        */
> +       if (ioc->shost_recovery && ioc->pending_io_count) {
> +               if (ioc->pending_io_count == 1)
> +                       wake_up(&ioc->reset_wq);
> +               ioc->pending_io_count = 0;

I think here we should reduce the pending_io_count by one instead of
assigning it to zero in-order to have same behavior as before.

Thanks,
Sreekanth

> +       }
> +}
> +
> +static void
>  _dechain_st(struct MPT3SAS_ADAPTER *ioc, struct scsiio_tracker *st)
>  {
>         struct chain_tracker *chain_req;
> @@ -2402,15 +2415,7 @@ static int mpt3sas_remove_dead_ioc_func(void *arg)
>                 list_add(&ioc->scsi_lookup[i].tracker_list, &ioc->free_list);
>                 spin_unlock_irqrestore(&ioc->scsi_lookup_lock, flags);
>
> -               /*
> -                * See _wait_for_commands_to_complete() call with regards
> -                * to this code.
> -                */
> -               if (ioc->shost_recovery && ioc->pending_io_count) {
> -                       if (ioc->pending_io_count == 1)
> -                               wake_up(&ioc->reset_wq);
> -                       ioc->pending_io_count--;
> -               }
> +               _base_recovery_check(ioc);
>                 return;
>         } else if (smid < ioc->internal_smid) {
>                 /* hi-priority */
> --
> 1.8.5.6
>



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux