[PATCH 04/23] scsi: initialize scsi midlayer limits before allocating the queue

John Garry john.g.garry at oracle.com
Thu Jun 6 18:21:11 AEST 2024


> 
> diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
> index 817838e2f70e..3cb455a32d92 100644
> --- a/drivers/ata/pata_macio.c
> +++ b/drivers/ata/pata_macio.c
> @@ -915,10 +915,13 @@ static const struct scsi_host_template pata_macio_sht = {
>   	.sg_tablesize		= MAX_DCMDS,
>   	/* We may not need that strict one */
>   	.dma_boundary		= ATA_DMA_BOUNDARY,
> -	/* Not sure what the real max is but we know it's less than 64K, let's
> -	 * use 64K minus 256
> +	/*
> +	 * The SCSI core requires the segment size to cover at least a page, so
> +	 * for 64K page size kernels this must be at least 64K. However the
> +	 * hardware can't handle 64K, so pata_macio_qc_prep() will split large
> +	 * requests.
>   	 */
> -	.max_segment_size	= MAX_DBDMA_SEG,
> +	.max_segment_size	= SZ_64K,
>   	.device_configure	= pata_macio_device_configure,
>   	.sdev_groups		= ata_common_sdev_groups,
>   	.can_queue		= ATA_DEF_QUEUE,


Feel free to add:
Reviewed-by: John Garry <john.g.garry at oracle.com>


More information about the Linuxppc-dev mailing list