Re: [1/3] mfd/omap-usb-tll: Delete two error messages for a failed memory allocation in usbtll_omap_probe()

From: Ladislav Michl
Date: Mon Jan 15 2018 - 11:35:52 EST


On Mon, Jan 15, 2018 at 05:21:47PM +0100, SF Markus Elfring wrote:
> >>>> @@ -258,7 +256,6 @@ static int usbtll_omap_probe(struct platform_device *pdev)
> >>>> GFP_KERNEL);
> >>>> if (!tll->ch_clk) {
> >>>> ret = -ENOMEM;
> >>>> - dev_err(dev, "Couldn't allocate memory for channel clocks\n");
> >>>
> >>> I'd either leave this one, just to know which allocation failed or better use
> >>> something like this â
> >>
> >> Are you aware on the structure for a Linux allocation failure report?
> >
> > Just created one (not OMAP and not this driver, but that does not matter now):
>
> Thanks for your example.
>
> > ---[ end trace 3c79eadf2363e939 ]---
> > max9867: probe of 1-0018 failed with error -12
> >
> > driver was instructed to alloc insane number of bytes using devm_kzalloc in
> > max9867_i2c_probe.
> > Now, if probe function calls devm_kzalloc two times and one of them fails,
> > you cannot easily say which one without looking at assembly listing.
>
> Will this situation change with any other implementation for such backtraces?

How much that situation changes depends mainly on that very person who is
sending bugreport and his/her ability and willigness to eventually change
said implementation. In the other words your question (presumably) expects
a world of ideal backtraces, which is (so far) rarely the case.

Anyway, if we agree to change the way we allocate driver data here, the issue
this debate is about will no longer exist.

Best reards,
ladis