Re: [PATCH 3/3] platform: chrome: Added cros-ec-typec driver

Guenter Roeck
2019-11-14T01:08:08Z

On Wed, Nov 13, 2019 at 9:23 AM Jon Flatley <jflat@chromium.org> wrote:
>
> On Wed, Nov 13, 2019 at 4:55 AM kbuild test robot <lkp@intel.com> wrote:
> >
> > Hi Jon,
> >
> > Thank you for the patch! Perhaps something to improve:
> >
> > [auto build test WARNING on ljones-mfd/for-mfd-next]
> > [cannot apply to v5.4-rc7 next-20191113]
> > [if your patch is applied to the wrong git tree, please drop us a note to help
> > improve the system. BTW, we also suggest to use '--base' option to specify the
> > base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
> >
> > url: https://github.com/0day-ci/linux/commits/Jon-Flatley/ChromeOS-EC-USB-C-Connector-Class/20191113-193504
> > base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
> >
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> >
> >
> > coccinelle warnings: (new ones prefixed by >>)
> >
> > >> drivers/platform/chrome/cros_ec_typec.c:223:9-16: ERROR: PTR_ERR applied after initialization to constant on line 222
> >
> > vim +223 drivers/platform/chrome/cros_ec_typec.c
> >
> > 206
> > 207 static int cros_typec_add_partner(struct typec_data *typec, int port_num,
> > 208 bool pd_enabled)
> > 209 {
> > 210 struct port_data *port;
> > 211 struct typec_partner_desc p_desc;
> > 212 int ret;
> > 213
> > 214 port = typec->ports[port_num];
> > 215 p_desc.usb_pd = pd_enabled;
> > 216 p_desc.identity = &port->p_identity;
> > 217
> > 218 port->partner = typec_register_partner(port->port, &p_desc);
> > 219 if (IS_ERR_OR_NULL(port->partner)) {
> > 220 dev_err(typec->dev, "Port %d partner register failed\n",
> > 221 port_num);
> > > 222 port->partner = NULL;
> > > 223 return PTR_ERR(port->partner);
> > 224 }
> > 225
> > 226 ret = cros_typec_query_pd_info(typec, port_num);
> > 227 if (ret < 0) {
> > 228 dev_err(typec->dev, "Port %d PD query failed\n", port_num);
> > 229 typec_unregister_partner(port->partner);
> > 230 port->partner = NULL;
> > 231 return ret;
> > 232 }
> > 233
> > 234 ret = typec_partner_set_identity(port->partner);
> > 235 return ret;
> > 236 }
> > 237
> >
> > ---
> > 0-DAY kernel test infrastructure Open Source Technology Center
> > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
>
> This patch is based off of the chrome-platform for-next branch.
>
> base: https://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
> for-next
>
> Is this incorrect? I'm happy to rebase if necessary.
>

You are missing the problem.

port->partner = NULL;
return PTR_ERR(port->partner);

Does not make sense, and always returns 0 (no error).

Guenter

> Thanks,
> -Jon