Re: [bisected] Driver core fixes for 3.6-rc3 regression

From: Markus Trippelsdorf
Date: Sat Aug 18 2012 - 14:55:25 EST


On 2012.08.18 at 11:37 -0700, Joe Perches wrote:
> On Sat, 2012-08-18 at 09:34 -0700, Greg KH wrote:
> > On Sat, Aug 18, 2012 at 08:09:34AM +0200, Markus Trippelsdorf wrote:
> > > On 2012.08.17 at 10:13 -0700, Greg KH wrote:
> > > > ----------------------------------------------------------------
> > > > Driver core fixes for 3.6-rc3
> > > >
> > > > Here are two tiny patches, one fixing a dynamic debug problem that the printk
> > > > rework turned up, and the other one fixing an extcon problem that people
> > > > reported.
> > > >
> > > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > > >
> > > > ----------------------------------------------------------------
> > > > Axel Lin (1):
> > > > extcon: extcon_gpio: Replace gpio_request_one by devm_gpio_request_one
> > > >
> > > > Jim Cromie (1):
> > > > drivers-core: make structured logging play nice with dynamic-debug
> > >
> > > The commit af7f2158f above causes hundreds of "Failed to force enable
> > > HPET" messages to appear during boot on my system.
> > > Please also note the strange "^A0" character sequence that is also
> > > introduced by the same commit.
> >
> > Ugh, I see the same thing here, debugging must be accidentally enabled
> > with this patch, and the ^A0 stuff is just a mess. Sorry, I didn't
> > notice this in my testing, my fault.
>
> It's a combination interaction because of the patch with
> a conversion of KERN_<LEVEL> from "<.>" to concatenated
> SOH "."
>
> commit: 04d2c8c83d0e3ac5f78aeede51babb3236200112

IOW:

diff --git a/drivers/base/core.c b/drivers/base/core.c
index cdd01c5..5e6e00b 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1912,8 +1912,8 @@ int __dev_printk(const char *level, const struct device *dev,
"DEVICE=+%s:%s", subsys, dev_name(dev));
}
skip:
- if (level[3])
- level_extra = &level[3]; /* skip past "<L>" */
+ if (level[2])
+ level_extra = &level[2]; /* skip past KERN_SOH "L" */

return printk_emit(0, level[1] - '0',
dictlen ? dict : NULL, dictlen,

--
Markus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/