qemu-s390x
[Top][All Lists]
Advanced

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

Re: [PATCH v3 1/9] pc-bios: s390x: cio.c cleanup and compile fix


From: Christian Borntraeger
Subject: Re: [PATCH v3 1/9] pc-bios: s390x: cio.c cleanup and compile fix
Date: Wed, 27 May 2020 10:24:40 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0


On 27.05.20 09:49, Janosch Frank wrote:
> Let's initialize the structs at the beginning to ease reading and also
> zeroing all other fields. This also makes the compiler stop
> complaining about sense_id_ccw.flags being ored into when it's not
> initialized.
> 
> Signed-off-by: Janosch Frank <address@hidden>
> Reviewed-by: Pierre Morel <address@hidden>
> Reviewed-by: Thomas Huth <address@hidden>
> Reviewed-by: David Hildenbrand <address@hidden>
> ---
>  pc-bios/s390-ccw/cio.c | 40 ++++++++++++++++++++++------------------
>  1 file changed, 22 insertions(+), 18 deletions(-)
> 
> diff --git a/pc-bios/s390-ccw/cio.c b/pc-bios/s390-ccw/cio.c
> index 339ec5fbe7..dbae1e240e 100644
> --- a/pc-bios/s390-ccw/cio.c
> +++ b/pc-bios/s390-ccw/cio.c
> @@ -49,13 +49,13 @@ void enable_subchannel(SubChannelId schid)
>  
>  uint16_t cu_type(SubChannelId schid)
>  {
> -    Ccw1 sense_id_ccw;
>      SenseId sense_data;
> -
> -    sense_id_ccw.cmd_code = CCW_CMD_SENSE_ID;
> -    sense_id_ccw.cda = ptr2u32(&sense_data);
> -    sense_id_ccw.count = sizeof(sense_data);
> -    sense_id_ccw.flags |= CCW_FLAG_SLI;
> +    Ccw1 sense_id_ccw = {
> +        .cmd_code = CCW_CMD_SENSE_ID,
> +        .count = sizeof(sense_data),
> +        .flags = CCW_FLAG_SLI,
> +        .cda = ptr2u32(&sense_data),
> +    };

nitpicking, since you change the order anyway you _could_ swap count and flag
to match the order of struct Ccw. Only necessary when redoing.


>  
>      if (do_cio(schid, CU_TYPE_UNKNOWN, ptr2u32(&sense_id_ccw), CCW_FMT1)) {
>          panic("Failed to run SenseID CCw\n");
> @@ -67,13 +67,13 @@ uint16_t cu_type(SubChannelId schid)
>  int basic_sense(SubChannelId schid, uint16_t cutype, void *sense_data,
>                   uint16_t data_size)
>  {
> -    Ccw1 senseCcw;
> +    Ccw1 senseCcw = {
> +        .cmd_code = CCW_CMD_BASIC_SENSE,
> +        .count = data_size,
> +        .cda = ptr2u32(sense_data),
> +    };
>      Irb irb;
>  
> -    senseCcw.cmd_code = CCW_CMD_BASIC_SENSE;
> -    senseCcw.cda = ptr2u32(sense_data);
> -    senseCcw.count = data_size;
> -

here it is fine, due to the lack of flags. 
Was this actually a bug before that senseCcw.flags was
not zeroed out?


[...]

Other than that
Reviewed-by: Christian Borntraeger <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]