Re: [sparc64] unable to boot git kernel / deadlock / cpu stall

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

 



On 1/2/19 5:11 AM, Ming Lei wrote:
>> diff --git a/drivers/block/sunvdc.c b/drivers/block/sunvdc.c
>> index 9c0553dd13e7..6eddd17a864a 100644
>> --- a/drivers/block/sunvdc.c
>> +++ b/drivers/block/sunvdc.c
>> @@ -181,7 +181,7 @@ static void vdc_blk_queue_start(struct vdc_port *port)
>>  	 * allocated a disk.
>>  	 */
>>  	if (port->disk && vdc_tx_dring_avail(dr) * 100 / VDC_TX_RING_SIZE >= 50)
>> -		blk_mq_start_hw_queues(port->disk->queue);
>> +		blk_mq_start_stopped_hw_queue(port->disk->queue, true);
>>  }
>>  
>>  static void vdc_finish(struct vio_driver_state *vio, int err, int waiting_for)
> 
> oops, we should have called blk_mq_start_stopped_hw_queues(): 
> 
> diff --git a/drivers/block/sunvdc.c b/drivers/block/sunvdc.c
> index 9c0553dd13e7..ab7f7ab4c472 100644
> --- a/drivers/block/sunvdc.c
> +++ b/drivers/block/sunvdc.c
> @@ -181,7 +181,7 @@ static void vdc_blk_queue_start(struct vdc_port *port)
>  	 * allocated a disk.
>  	 */
>  	if (port->disk && vdc_tx_dring_avail(dr) * 100 / VDC_TX_RING_SIZE >= 50)
> -		blk_mq_start_hw_queues(port->disk->queue);
> +		blk_mq_start_stopped_hw_queues(port->disk->queue, true);
>  }
>  
>  static void vdc_finish(struct vio_driver_state *vio, int err, int waiting_for)

Indeed, that was a silly oversight on my part. Ming, will you send a
"proper" patch so I can queue it up?

-- 
Jens Axboe




[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux