All of lore.kernel.org
 help / color / mirror / Atom feed
* unbind/bind w1-gpio with device tree produce a crash
@ 2015-03-04  3:53 Ingo Flaschberger
  2015-03-04 16:38 ` Ingo Flaschberger
  0 siblings, 1 reply; 7+ messages in thread
From: Ingo Flaschberger @ 2015-03-04  3:53 UTC (permalink / raw)
  To: linux-kernel

If w1-gpio is probed via device-tree configuration, pdata is allocated 
via devm_kzalloc.
When the device is unbind (and bind later) the allocated memory of pdate 
is freed - but it will not be allocacted again.

static int w1_gpio_probe(struct platform_device *pdev)
         struct w1_bus_master *master;
         struct w1_gpio_platform_data *pdata = pdev->dev.platform_data;
         int err;

         if(pdata == NULL) {
                 if (of_have_populated_dt()) {
                         err = w1_gpio_probe_dt(pdev);
                         if (err < 0)
                                 return err;
                 }
         }

How to detect if pdata was allocated via device-tree devm_kzalloc and 
not "hardcoded"?
Then I could set pdev->dev.platform_data to NULL in w1_gpio_remove which 
will solve the crash.

Kind regards,
    Ingo Flascherger


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-03-22 11:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-04  3:53 unbind/bind w1-gpio with device tree produce a crash Ingo Flaschberger
2015-03-04 16:38 ` Ingo Flaschberger
     [not found]   ` <54F7C5D4.3000604@gmail.com>
2015-03-05  7:35     ` Fwd: " Markus Pargmann
2015-03-05 11:56       ` Ingo Flaschberger
2015-03-09 10:18         ` [PATCH] w1: gpio: Fix problematic platform_data usage Markus Pargmann
2015-04-10 10:22           ` Markus Pargmann
2016-03-22 11:59             ` Ingo Flaschberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.