On Wed, Oct 16, 2002 at 06:41:22PM +0100, Matthew Wilcox wrote:
>
> >>EIP; c021723c <aic7xxx_slave_attach+68/d0> <=====
>
Duh, forgot to add INIT_LIST_HEAD(&p->aic_devs); to aic7xxx_register() so
the list_add() is oopsing. Patch attached. Let me know if this *doesn't*
solve the problem (I'm not at work where I can test this yet).
--
Doug Ledford <dledford@redhat.com> 919-754-3700 x44233
Red Hat, Inc.
1801 Varsity Dr.
Raleigh, NC 27606
--ikeVEW9yuYc//A+q
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="aic_oops.patch"
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.857 -> 1.858
# drivers/scsi/aic7xxx_old.c 1.29 -> 1.30
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/10/16 dledford@aladin.rdu.redhat.com 1.858
# aic7xxx_old.c:
# Fix mistake with list_head structs
# --------------------------------------------
#
diff -Nru a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
--- a/drivers/scsi/aic7xxx_old.c Wed Oct 16 13:57:12 2002
+++ b/drivers/scsi/aic7xxx_old.c Wed Oct 16 13:57:12 2002
@@ -6723,7 +6723,7 @@
struct aic7xxx_host *p = (struct aic7xxx_host *) sdpnt->host->hostdata;
struct aic_dev_data *aic_dev;
int scbnum;
- struct list_head *list_ptr, *list_head;
+ struct list_head *list_ptr;
if(!sdpnt->hostdata) {
sdpnt->hostdata = kmalloc(sizeof(struct aic_dev_data), GFP_ATOMIC);
@@ -6742,8 +6742,7 @@
aic7xxx_device_queue_depth(p, sdpnt);
scbnum = 0;
- list_head = &p->aic_devs;
- list_for_each(list_ptr, list_head) {
+ list_for_each(list_ptr, &p->aic_devs) {
aic_dev = list_entry(list_ptr, struct aic_dev_data, list);
scbnum += aic_dev->max_q_depth;
}
@@ -7879,6 +7878,7 @@
p->completeq.tail = NULL;
scbq_init(&p->scb_data->free_scbs);
scbq_init(&p->waiting_scbs);
+ INIT_LIST_HEAD(&p->aic_devs);
/*
* We currently have no commands of any type
--ikeVEW9yuYc//A+q--
-
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/