parport_pc.c: correctly release the requested region for the IT887x
Subsystems (2)
PATCH v2 1/1 parport_pc.c: correctly release the requested region for the IT887x
Replace release_resource() by release_region() and also fix the inconsistency in the size of the requested/released region.
The size of the resource should be 32, not 0x8 like it was corrected in commit e7c310c36e5fdf1b83a459e5db167bfbd86137db already.
Reported-by Julia Lawall <[email protected]>
Signed-off-by Niels de Vos <[email protected]>
---
This is a followup/improvement on https://lkml.org/lkml/2011/4/11/37
that was posted by Julia earlier. I've updated the subject to reflect the corrections made.
There is currently no maintainer for the drivers/parport/ tree. As the IT887x also (can) provide a serial port, I'm adding linux-serial@ to the list of CCs.
drivers/parport/parport_pc.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-)
drivers/parport/parport_pc.c +3 -5
@@ -2550,7 +2550,6 @@ static int __devinit sio_ite_8872_probe(struct pci_dev *pdev, int autoirq, const struct parport_pc_via_data *via) {short inta_addr[6 ] = {0x2A0 ,0x2C0 ,0x220 ,0x240 ,0x1E0 }; -struct resource *base_res;u32 ite8872set;u32 ite8872_lpt, ite8872_lpthi;u8 ite8872_irq, type;
@@ -2561,8 +2560,7 @@ static int __devinit sio_ite_8872_probe(struct pci_dev *pdev, int autoirq,/* make sure which one chip */ for (i =0 ; i <5 ; i++) { - base_res =request_region (inta_addr[i],32 ,"it887x" ); -if (base_res) { +if (request_region (inta_addr[i],32 ,"it887x" )) {int test;pci_write_config_dword (pdev,0x60 ,0xe5000000 | inta_addr[i]);
@@ -2571,7 +2569,7 @@ static int __devinit sio_ite_8872_probe(struct pci_dev *pdev, int autoirq, test =inb (inta_addr[i]);if (test !=0xff )break ; -release_region (inta_addr[i],0x8 ); +release_region (inta_addr[i],32 ); } }if (i >=5 ) {
@@ -2635,7 +2633,7 @@ static int __devinit sio_ite_8872_probe(struct pci_dev *pdev, int autoirq,/* * Release the resource so that parport_pc_probe_port can get it. */ -release_resource (base_res); +release_region (inta_addr[i],32 );if (parport_pc_probe_port (ite8872_lpt, ite8872_lpthi, irq,PARPORT_DMA_NONE , &pdev->dev,0 )) { printk(KERN_INFO
Signature · 1 line
1.7.4