lkml.org 
[lkml]   [2019]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH net] staging: Remove set but not used variable ‘status’
    From
    Date


    On 2019/5/25 20:59, Sven Van Asbroeck wrote:
    > On Sat, May 25, 2019 at 12:20 AM Mao Wenan <maowenan@huawei.com> wrote:
    >>
    >> The variable 'status' is not used any more, remve it.
    >
    >> /* do the transfers for this message */
    >> list_for_each_entry(transfer, &m->transfers, transfer_list) {
    >> if (transfer->tx_buf == NULL && transfer->rx_buf == NULL && transfer->len) {
    >> - status = -EINVAL;
    >> break;
    >> }
    >
    > This looks like an error condition that's not reported to the spi core.
    >
    > Instead of removing the status variable (which also removes the error value!),
    > maybe this should be reported to the spi core instead ?
    >
    > Other spi drivers appear to do the following on the error path:
    > m->status = status;
    > return status;

    I have reviewed the code again, and it is good idea to store m->status in error path, like below?

    @@ -374,7 +374,7 @@ kp_spi_transfer_one_message(struct spi_master *master, struct spi_message *m)
    list_for_each_entry(transfer, &m->transfers, transfer_list) {
    if (transfer->tx_buf == NULL && transfer->rx_buf == NULL && transfer->len) {
    status = -EINVAL;
    - break;
    + goto error;
    }

    /* transfer */
    @@ -412,7 +412,7 @@ kp_spi_transfer_one_message(struct spi_master *master, struct spi_message *m)

    if (count != transfer->len) {
    status = -EIO;
    - break;
    + goto error;
    }
    }

    ...

    /* done work */
    spi_finalize_current_message(master);
    return 0;
    +
    + error:
    + m->status = status;
    + return status;
    }

    >
    >>
    >> @@ -370,7 +368,6 @@ kp_spi_transfer_one_message(struct spi_master *master, struct spi_message *m)
    >>
    >> if (count != transfer->len) {
    >> - status = -EIO;
    >> break;
    >
    > Same issue here.
    >
    >

    \
     
     \ /
      Last update: 2019-05-27 04:35    [W:7.808 / U:0.944 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site