On Tue, Apr 19, 2016 at 12:54:18PM +0300, Jarkko Sakkinen wrote:
> Cc: sta...@vger.kernel.org
> Fixes: 1bd047be37d9 ("tpm_crb: Use devm_ioremap_resource")
> Signed-off-by: Jarkko Sakkinen <jarkko.sakki...@linux.intel.com>
>  drivers/char/tpm/tpm_crb.c | 39 ++++++++++++++++++++++++++++-----------
>  1 file changed, 28 insertions(+), 11 deletions(-)

This looks OK

Reviewed-by: Jason Gunthorpe <jguntho...@obsidianresearch.com>

> +     if (cmd_pa != rsp_pa) {
> +             priv->rsp = crb_map_res(dev, priv, &io_res, rsp_pa, rsp_size);
> +             return PTR_ERR_OR_ZERO(priv->rsp);
> +     }

I would use an else here, 'exit on success' is considered an
anti-pattern.

Eg:

if (cmd_pa == rsp_pa) {
        /* According to the PTP specification, overlapping command and response
         * buffer sizes must be identical.
         */
        if (cmd_size != rsp_size) {
                dev_err(dev, FW_BUG "overlapping command and response buffer 
sizes are not identical");
                return -EINVAL;
        }
        priv->rsp = priv->cmd;
}
else {
        priv->rsp = crb_map_res(dev, priv, &io_res, rsp_pa, rsp_size);
        if (IS_ERR(priv->rsp))
                return PTR_ERR(priv->rsp);
}

return 0;


Jason

Reply via email to