Hello Dragos,

Your mpc52xx_psc_spi_do_remove() from current git:

| static int __exit mpc52xx_psc_spi_do_remove(struct device *dev)
| {
|         struct spi_master *master = dev_get_drvdata(dev);
|         struct mpc52xx_psc_spi *mps = spi_master_get_devdata(master);
| 
|         flush_workqueue(mps->workqueue);
|         destroy_workqueue(mps->workqueue);
|         spi_unregister_master(master);
|         free_irq(mps->irq, mps);
|         if (mps->psc)
|                 iounmap(mps->psc);
| 
|         return 0;
| }

It looks to me that spi_unregister_master() frees your mps struct and
the following free_irq() and iounmap() touches deallocated memory.
Might this be correct?

Sebastian

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to