Re: [PATCH] scsi: fix async probe regression

From: James Bottomley
Date: Fri May 25 2012 - 13:05:13 EST


On Fri, 2012-05-25 at 09:39 -0700, Dan Williams wrote:
> Commit a7a20d1 "[SCSI] sd: limit the scope of the async probe domain"
> moved sd probe work out of reach of wait_for_device_probe(). Allow it
> to be synced via scsi_complete_async_scans().
>
> Cc: David Miller <davem@xxxxxxxxxxxxx>
> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Reported-by: Meelis Roos <mroos@xxxxxxxx>
> Tested-by: Meelis Roos <mroos@xxxxxxxx>
> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> ---
>
> So this is the stop gap that allows us to keep a7a20d1 as a fix for a
> resume deadlock, and gives us time to figure out how to clarify
> async_synchronize_full() properly in the 3.6 timeframe.
>
> drivers/scsi/scsi_scan.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
> index 01b0374..41f9192 100644
> --- a/drivers/scsi/scsi_scan.c
> +++ b/drivers/scsi/scsi_scan.c
> @@ -141,13 +141,13 @@ struct async_scan_data {
> * started scanning after this function was called may or may not have
> * finished.
> */
> -int scsi_complete_async_scans(void)
> +static void __scsi_complete_async_scans(void)

Rather than wrappering the function, can we just fix it?

Put the async_synchronize_full_domain(&scsi_sd_probe_domain); at the
bottom with an out: label and make the only other return in the function
become a goto out;

Thanks,

James




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/