The patch titled drivers/ata: correct a wrong free function for sata_nv driver has been added to the -mm tree. Its filename is drivers-ata-correct-a-wrong-free-function-for-sata_nv-driver.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: drivers/ata: correct a wrong free function for sata_nv driver From: "Peer Chen" <pchen@xxxxxxxxxx> For sata_nv driver in kernel 2.6.21 onward, Inside nv_init_one(),use 'hpriv = devm_kzalloc(&pdev->dev, sizeof(*hpriv), GFP_KERNEL);' but using the kfree(hpriv) to free that data struction in nv_remove_one(), which will cause system hang when removing the sata_nv module. Change the 'kfree()' function to 'devm_kfree' will fix this bug. Signed-off-by: Peer Chen <pchen@xxxxxxxxxx> Cc: Jeff Garzik <jeff@xxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/ata/sata_nv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/ata/sata_nv.c~drivers-ata-correct-a-wrong-free-function-for-sata_nv-driver drivers/ata/sata_nv.c --- a/drivers/ata/sata_nv.c~drivers-ata-correct-a-wrong-free-function-for-sata_nv-driver +++ a/drivers/ata/sata_nv.c @@ -1613,7 +1613,7 @@ static void nv_remove_one (struct pci_de struct nv_host_priv *hpriv = host->private_data; ata_pci_remove_one(pdev); - kfree(hpriv); + devm_kfree(&pci_dev->dev, hpriv); } #ifdef CONFIG_PM _ Patches currently in -mm which might be from pchen@xxxxxxxxxx are drivers-ata-remove-the-wildcard-from-sata_nv-driver.patch drivers-ata-correct-a-wrong-free-function-for-sata_nv-driver.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html