On 2020/07/21 19:55, Maxim Levitsky wrote:
> Plus some tiny refactoring.
> 
> Signed-off-by: Maxim Levitsky <mlevi...@redhat.com>
> ---
>  drivers/scsi/sr.c | 31 +++++++++++++------------------
>  1 file changed, 13 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
> index 0c4aa4665a2f9..0e96338029310 100644
> --- a/drivers/scsi/sr.c
> +++ b/drivers/scsi/sr.c
> @@ -866,31 +866,26 @@ static void get_sectorsize(struct scsi_cd *cd)
>                       cd->capacity = max_t(long, cd->capacity, last_written);
>  
>               sector_size = get_unaligned_be32(&buffer[4]);
> -             switch (sector_size) {
> -                     /*
> -                      * HP 4020i CD-Recorder reports 2340 byte sectors
> -                      * Philips CD-Writers report 2352 byte sectors
> -                      *
> -                      * Use 2k sectors for them..
> -                      */
> -             case 0:
> -             case 2340:
> -             case 2352:
> +
> +             /*
> +              * HP 4020i CD-Recorder reports 2340 byte sectors
> +              * Philips CD-Writers report 2352 byte sectors
> +              *
> +              * Use 2k sectors for them..
> +              */
> +

No need for the blank line here.

> +             if (!sector_size || sector_size == 2340 || sector_size == 2352)
>                       sector_size = 2048;
> -                     /* fall through */
> -             case 2048:
> -                     cd->capacity *= 4;
> -                     /* fall through */
> -             case 512:
> -                     break;
> -             default:
> +
> +             cd->capacity *= (sector_size >> SECTOR_SHIFT);

Where does this come from ? There is no such code in sr get_sectorsize()...

> +
> +             if (!blk_is_valid_logical_block_size(sector_size)) {
>                       sr_printk(KERN_INFO, cd,
>                                 "unsupported sector size %d.", sector_size);
>                       cd->capacity = 0;
>               }
>  
>               cd->device->sector_size = sector_size;
> -

White line change.

>               /*
>                * Add this so that we have the ability to correctly gauge
>                * what the device is capable of.
> 


-- 
Damien Le Moal
Western Digital Research

Reply via email to