Messages in this thread | | | From | "Kubalewski, Arkadiusz" <> | Subject | RE: [RFC PATCH v9 03/10] dpll: core: Add DPLL framework base functions | Date | Mon, 10 Jul 2023 09:50:48 +0000 |
| |
>From: Jiri Pirko <jiri@resnulli.us> >Sent: Thursday, June 29, 2023 10:14 AM > >Fri, Jun 23, 2023 at 02:38:13PM CEST, arkadiusz.kubalewski@intel.com wrote: >>From: Vadim Fedorenko <vadim.fedorenko@linux.dev> >> > >One thing I forgot to point out the last time: > >[...] > >>+int >>+dpll_pin_register(struct dpll_device *dpll, struct dpll_pin *pin, >>+ const struct dpll_pin_ops *ops, void *priv) >>+{ >>+ int ret; >>+ >>+ if (WARN_ON(!ops) || >>+ WARN_ON(!ops->state_on_dpll_get) || >>+ WARN_ON(!ops->direction_get)) > >Please add check that you don't register to dpll instance which is >unregistered. Similar check needs to be added to pin_on_pin register. > >Also, make sure you don't unregister dpll device/pin which has child >pins registered under it. >
Fixed for v10.
Thank you! Arkadiusz
> >>+ return -EINVAL; >>+ >>+ mutex_lock(&dpll_lock); >>+ if (WARN_ON(!(dpll->module == pin->module && >>+ dpll->clock_id == pin->clock_id))) >>+ ret = -EINVAL; >>+ else >>+ ret = __dpll_pin_register(dpll, pin, ops, priv); >>+ mutex_unlock(&dpll_lock); >>+ >>+ return ret; >>+} > >[...]
| |