Re: [PATCH] Re: 2.5.67: ppa driver & preempt == oops

walt (wa1ter@myrealbox.com)
Tue, 15 Apr 2003 16:04:02 -0700


Patrick Mansfield wrote:
> On Sun, Apr 13, 2003 at 07:44:04PM +0200, Gert Vervoort wrote:
>
> Here is a patch against 2.5.67, can you try it out?
>
> I did not compile let alone run with this patch.
>
> We never hold the host_lock while calling the detect function (unlike the
> io_request_lock, see the bizzare 2.4 code), so acquiring it inside
> ppa_detect is very wrong. I don't know why your scsi scan did not hang.
>
> --- linux-2.5.67/drivers/scsi/ppa.c-orig Mon Apr 7 10:31:47 2003
> +++ linux-2.5.67/drivers/scsi/ppa.c Tue Apr 15 11:54:34 2003
> @@ -219,15 +219,12 @@
> printk(" supported by the imm (ZIP Plus) driver. If the\n");
> printk(" cable is marked with \"AutoDetect\", this is what has\n");
> printk(" happened.\n");
> - spin_lock_irq(hreg->host_lock);
> return 0;
> }
> try_again = 1;
> goto retry_entry;
> - } else {
> - spin_lock_irq(hreg->host_lock);
> + } else
> return 1; /* return number of hosts detected */
> - }
> }
>
> /* This is to give the ppa driver a way to modify the timings (and other

Yes! Thank you. This patch fixes the segfault of modprobe that I've
been seeing for ages.

Note that the problems I have been seeing are completely different from
Geert's problems. I have had no problems mounting a FAT-16 fs with the
2.5.x kernels but modprobe has been segfaulting all along, even though
the ppa module works fine for me once it has been loaded.

When I compile ppa into the kernel I see a kernel panic during bootup.
I will also try compiling your patch into the kernel and see if it
prevents the panic.

The parallel Zip drive is the only scsi device I have, so I can't
comment on the more general situation. This is the scsi section
of my kernel config:

# SCSI device support
#
CONFIG_SCSI=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_REPORT_LUNS is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_DC390T is not set

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/