On Wed, Mar 13, 2013 at 11:17:40AM -0700, Doug Anderson wrote:
> From: Bryan Freed <[email protected]>
> 
> spi_pump_messages() calls into a controller driver with
> unprepare_transfer_hardware() which is documented as "This may sleep".
> As in the prepare_transfer_hardware() call below, we should release the
> queue_lock spinlock before making the call.
> Rework the logic a bit to hold queue_lock to protect the 'busy' flag,
> then release it to call unprepare_transfer_hardware().

Applied, thanks.  However...

>               spin_unlock_irqrestore(&master->queue_lock, flags);
> +             if (master->unprepare_transfer_hardware &&
> +                 master->unprepare_transfer_hardware(master))
> +                     dev_err(&master->dev,
> +                             "failed to unprepare transfer hardware\n");

...it'd be nicer to pay attention to and log the error code if we fail
to unprepare.

Attachment: signature.asc
Description: Digital signature

Reply via email to