Input: fm801-gp - Fix an error handling path
Commit Message
This looks odd to call release_resource() for something allocated with
request_region().
Use release_region() instead.
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
This patch is speculative and compile tested only.
---
drivers/input/gameport/fm801-gp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
Hi Christophe,
On Mon, Dec 19, 2022 at 10:36:47PM +0100, Christophe JAILLET wrote:
> This looks odd to call release_resource() for something allocated with
> request_region().
> Use release_region() instead.
I do not see why it is weird. request_region() gives you an instance of
"resource" structure which can later be freed. If we indeed want to use
release_region() (and hardcode the length in both places) then we should
also remove gp->res_port member. But I really do not find anything wrong
nor do I want to touch these old drivers...
Thanks.
@@ -118,7 +118,7 @@ static void fm801_gp_remove(struct pci_dev *pci)
struct fm801_gp *gp = pci_get_drvdata(pci);
gameport_unregister_port(gp->gameport);
- release_resource(gp->res_port);
+ release_region(gp->gameport->io, 0x10);
kfree(gp);
pci_disable_device(pci);