[PATCH] Fix dm9000 release_resource
dm9000_release_board calls release_resource with the platform resource instead of the requested resource: db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); db->addr_req = request_mem_region(db->addr_res->start, i, pdev->name); dm9000_release_board: if (db->addr_res != NULL) { release_resource(db->addr_res); kfree(db->addr_req); With this behavior the kernel will crash on the second removal. The attached patch fix this problem. Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
38f5745c5a
commit
519854876c
1 changed files with 2 additions and 2 deletions
|
@ -377,8 +377,8 @@ dm9000_release_board(struct platform_device *pdev, struct board_info *db)
|
|||
kfree(db->data_req);
|
||||
}
|
||||
|
||||
if (db->addr_res != NULL) {
|
||||
release_resource(db->addr_res);
|
||||
if (db->addr_req != NULL) {
|
||||
release_resource(db->addr_req);
|
||||
kfree(db->addr_req);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue