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 e7c310c36e
already.
CC: linux-serial@vger.kernel.org
Reported-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
f0e615c3cb
commit
0f6db2172f
@ -2550,7 +2550,6 @@ static int __devinit sio_ite_8872_probe(struct pci_dev *pdev, int autoirq,
|
|||||||
const struct parport_pc_via_data *via)
|
const struct parport_pc_via_data *via)
|
||||||
{
|
{
|
||||||
short inta_addr[6] = { 0x2A0, 0x2C0, 0x220, 0x240, 0x1E0 };
|
short inta_addr[6] = { 0x2A0, 0x2C0, 0x220, 0x240, 0x1E0 };
|
||||||
struct resource *base_res;
|
|
||||||
u32 ite8872set;
|
u32 ite8872set;
|
||||||
u32 ite8872_lpt, ite8872_lpthi;
|
u32 ite8872_lpt, ite8872_lpthi;
|
||||||
u8 ite8872_irq, type;
|
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 */
|
/* make sure which one chip */
|
||||||
for (i = 0; i < 5; i++) {
|
for (i = 0; i < 5; i++) {
|
||||||
base_res = request_region(inta_addr[i], 32, "it887x");
|
if (request_region(inta_addr[i], 32, "it887x")) {
|
||||||
if (base_res) {
|
|
||||||
int test;
|
int test;
|
||||||
pci_write_config_dword(pdev, 0x60,
|
pci_write_config_dword(pdev, 0x60,
|
||||||
0xe5000000 | inta_addr[i]);
|
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]);
|
test = inb(inta_addr[i]);
|
||||||
if (test != 0xff)
|
if (test != 0xff)
|
||||||
break;
|
break;
|
||||||
release_region(inta_addr[i], 0x8);
|
release_region(inta_addr[i], 32);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (i >= 5) {
|
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 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,
|
if (parport_pc_probe_port(ite8872_lpt, ite8872_lpthi,
|
||||||
irq, PARPORT_DMA_NONE, &pdev->dev, 0)) {
|
irq, PARPORT_DMA_NONE, &pdev->dev, 0)) {
|
||||||
printk(KERN_INFO
|
printk(KERN_INFO
|
||||||
|
Loading…
Reference in New Issue
Block a user