printk ("1 probe_one_port in parport_pc.c \n");
if (check_region(base, 3)) return 0;
if (!(p = parport_register_port(base, irq, dma, &parport_pc_ops)))
return 0;
printk ("2 probe_one_port in parport_pc.c \n");
if (p->base != 0x3bc) {
printk ("3 probe_one_port in parport_pc.c \n");
if (!check_region(base+0x400,3)) {
printk ("4 probe_one_port in parport_pc.c \n");
p->modes |= parport_ECR_present(p);
p->modes |= parport_ECP_supported(p);
p->modes |= parport_ECPPS2_supported(p);
}
if (!check_region(base+0x3, 5)) {
printk ("5 probe_one_port in parport_pc.c \n");
p->modes |= parport_EPP_supported(p);
p->modes |= parport_ECPEPP_supported(p);
}
}
if (!parport_SPP_supported(p)) {
/* No port. */
printk ("6 probe_one_port in parport_pc.c \n");
Further debugging shows that it crashed after printk statement 4 in parport_EPP_
supported in parport_pc.c . Here is the source code:
static int parport_EPP_supported(struct parport *pb)
{
/* If EPP timeout bit clear then EPP available */
if (!parport_pc_epp_clear_timeout(pb))
return 0; /* No way to clear timeout */
printk ("1 parport_EPP_supported in parport_pc.c \n ");
parport_pc_write_control(pb, parport_pc_read_control(pb) | 0x20);
printk ("2 parport_EPP_supported in parport_pc.c \n ");
parport_pc_write_control(pb, parport_pc_read_control(pb) | 0x10);
printk ("3 parport_EPP_supported in parport_pc.c \n ");
parport_pc_epp_clear_timeout(pb);
printk ("4 parport_EPP_supported in parport_pc.c \n ");
parport_pc_read_epp(pb);
udelay(30); /* Wait for possible EPP timeout */
printk ("4 parport_EPP_supported in parport_pc.c \n ");
****** It crashes after this statement ***********
if (parport_pc_read_status(pb) & 0x01) {
******* it crashes before this statement **********
printk ("5 parport_EPP_supported in parport_pc.c \n ");
parport_pc_epp_clear_timeout(pb);
printk ("6 parport_EPP_supported in parport_pc.c \n ");
return PARPORT_MODE_PCEPP;
Donald Harter
Get your FREE Email at http://mailcity.lycos.com
Get your PERSONALIZED START PAGE at http://my.lycos.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/