lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 24 Apr 2024 17:30:10 +0200
From: Bartosz Golaszewski <brgl@...ev.pl>
To: Luiz Augusto von Dentz <luiz.dentz@...il.com>
Cc: Bartosz Golaszewski <bartosz.golaszewski@...aro.org>, quic_zijuhu <quic_zijuhu@...cinc.com>, 
	Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>, Marcel Holtmann <marcel@...tmann.org>, 
	linux-bluetooth@...r.kernel.org, linux-kernel@...r.kernel.org, 
	Wren Turkal <wt@...guintechs.org>
Subject: Re: [PATCH v2] Bluetooth: qca: set power_ctrl_enabled on NULL
 returned by gpiod_get_optional()

On Wed, Apr 24, 2024 at 5:24 PM quic_zijuhu <quic_zijuhu@...cinc.com> wrote:
>
> On 4/24/2024 10:52 PM, Bartosz Golaszewski wrote:
> > On Wed, 24 Apr 2024 at 16:46, Krzysztof Kozlowski
> > <krzysztof.kozlowski@...aro.org> wrote:
> >>
> >> On 24/04/2024 14:29, Bartosz Golaszewski wrote:
> >>> From: Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
> >>>
> >>
> >>>               qcadev->susclk = devm_clk_get_optional(&serdev->dev, NULL);
> >>>               if (IS_ERR(qcadev->susclk)) {
> >>> @@ -2355,10 +2360,13 @@ static int qca_serdev_probe(struct serdev_device *serdev)
> >>>               qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
> >>>                                              GPIOD_OUT_LOW);
> >>>               if (IS_ERR(qcadev->bt_en)) {
> >>> -                     dev_warn(&serdev->dev, "failed to acquire enable gpio\n");
> >>> -                     power_ctrl_enabled = false;
> >>> +                     dev_err(&serdev->dev, "failed to acquire enable gpio\n");
> >>> +                     return PTR_ERR(qcadev->bt_en);
> please think about for QCA2066. if it is returned from here.  BT will
> not working at all.  if you don't return here. i will be working fine
> for every BT functionality.
> NAK again by me.
>

Luiz,

This in turn is an example of Zijun making a claim that looks like a
legitimate review but is simply untrue. He's done it several times.
I'm afraid that it may affect your judgment due to the confidence the
claims are made with. As Krzysztof said multiple times: the
device-tree bindings for QCA2066 are very clear: the enable-gpios
property is *required* and so returning an error on failure here is
correct. Even changing gpiod_get_optional() to just gpiod_get() would
be in line with what the contract in the binding document says. Even
if we relaxed the bindings, returning here stil *IS CORRECT* as if the
enable-gpios is not defined, GPIOLIB will return NULL and we will NOT
return.

Bartosz

> >>>               }
> >>>
> >>> +             if (!qcadev->bt_en)
> >>> +                     power_ctrl_enabled = false;
> >>
> >> This looks duplicated - you already have such check earlier.
> >>
> >
> > It's under a different switch case!
> >
> > Bartosz
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ