From: viro@parcelfarce.linux.theplanet.co.uk * killed ppa_pb_claim() call in ppa_init() --- 25-akpm/drivers/scsi/ppa.c | 10 ++-------- 1 files changed, 2 insertions(+), 8 deletions(-) diff -puN drivers/scsi/ppa.c~PPA2-ppa_claim-RC1 drivers/scsi/ppa.c --- 25/drivers/scsi/ppa.c~PPA2-ppa_claim-RC1 Wed Jan 14 13:35:47 2004 +++ 25-akpm/drivers/scsi/ppa.c Wed Jan 14 13:35:47 2004 @@ -201,12 +201,13 @@ static int ppa_detect(Scsi_Host_Template w_ecr(ppb_hi, 0x80); /* Done configuration */ - ppa_pb_release(dev); if (ppa_init(dev)) { + ppa_pb_release(dev); parport_unregister_device(dev->dev); continue; } + ppa_pb_release(dev); /* now the glue ... */ switch (dev->mode) { case PPA_NIBBLE: @@ -629,12 +630,6 @@ static int ppa_init(ppa_struct *dev) int retv; unsigned short ppb = dev->base; -#if defined(CONFIG_PARPORT) || defined(CONFIG_PARPORT_MODULE) - if (ppa_pb_claim(dev)) - while (dev->p_busy) - schedule(); /* We can safe schedule here */ -#endif - ppa_disconnect(dev); ppa_connect(dev, CONNECT_NORMAL); @@ -657,7 +652,6 @@ static int ppa_init(ppa_struct *dev) if (!retv) retv = device_check(dev); - ppa_pb_release(dev); return retv; } _