Subject: Re: [PATCH v6 1/2] mac80211_hwsim: add PMSR capability support

From: Greg KH <[email-masked]>
Date: Mon, 30 Jan 2023 10:35:41 +0100

On Mon, Jan 30, 2023 at 05:08:54PM +0900, Jaewan Kim wrote:
> On Mon, Jan 30, 2023 at 2:34 PM Greg KH <[email-masked]> wrote:
> >
> > On Mon, Jan 30, 2023 at 12:48:37AM +0900, Jaewan Kim wrote:
> > > On Wed, Jan 25, 2023 at 12:55 AM Greg KH <[email-masked]> wrote:
> > > > > +static int parse_ftm_capa(const struct nlattr *ftm_capa,
> > > > > +                       struct cfg80211_pmsr_capabilities *out)
> > > > > +{
> > > > > +     struct nlattr *tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX + 1];
> > > > > +     int ret = nla_parse_nested(tb, NL80211_PMSR_FTM_CAPA_ATTR_MAX,
> > > > > +                                ftm_capa, hwsim_ftm_capa_policy, NULL);
> > > > > +     if (ret) {
> > > > > +             pr_err("mac80211_hwsim: malformed FTM capability");
> > > >
> > > > dev_err()?
> > >
> > > Is dev_err() the printing error for device code?
> >
> > I am sorry, but I can not understand this question, can you rephrase it?
> 
> I just wanted to know better about `dev_err()`,
> because all existing code in this file uses `pr_err()`,
> and there's no good documentation for `dev_err()`.
> 
> Given your answer below, it seems like that `pr_err()` isn't a good
> choice in this file.
> Am I correct?

Drivers should never be using "raw" pr_*() calls as userspace has no way
of matching up a device and driver to a kernel log message.  That is
what the dev_*() calls provide.

As you are working with a device here (it's in your call-chain
somewhere), then you should use dev_*() calls.  Or use the
networking-specific versions of these as this is part of the network
stack.  But don't use raw pr_() calls please, that doesn't help anyone
out.

thanks,

greg k-h