Re: 2.6.9-rc1-mm5 qlogic oops

Andrew Vasquez
2004-09-13T21:28:25Z

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

On Mon, 13 Sep 2004, Badari Pulavarty wrote:

>
> I get this Oops with qlogic 2200 FC controllers with 2.6.9-rc1-mm5.
> Is this a known issue ? Any fixes ?
>

Hmm, there seems to be some merging problems in changeset 1.44 for
qla_os.c -- the 'DMA pool/api usage' patch I sent is not completely
integrated (appears to be massaging problems while attempting to apply
on top off 1.43).

Please apply the attached patch which should address the issue.

Regards,
Andrew Vasquez

[-- Attachment #2: dma_fixups.diff --]
[-- Type: text/plain, Size: 1308 bytes --]

===== drivers/scsi/qla2xxx/qla_os.c 1.46 vs edited =====
--- 1.46/drivers/scsi/qla2xxx/qla_os.c 2004-09-06 12:07:52 -07:00
+++ edited/drivers/scsi/qla2xxx/qla_os.c 2004-09-13 14:07:23 -07:00
@@ -2892,6 +2892,19 @@
continue;
}

+ /* get consistent memory allocated for init control block */
+ ha->init_cb = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL,
+ &ha->init_cb_dma);
+ if (ha->init_cb == NULL) {
+ qla_printk(KERN_WARNING, ha,
+ "Memory Allocation failed - init_cb\n");
+
+ qla2x00_mem_free(ha);
+ msleep(100);
+
+ continue;
+ }
+ memset(ha->init_cb, 0, sizeof(init_cb_t));

/* Get consistent memory allocated for Get Port Database cmd */
ha->iodesc_pd = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL,
@@ -2982,21 +2995,6 @@
}
memset(ha->ct_sns, 0, sizeof(struct ct_sns_pkt));
}
-
- /* Get consistent memory allocated for Get Port Database cmd */
- ha->iodesc_pd = pci_alloc_consistent(ha->pdev,
- PORT_DATABASE_SIZE, &ha->iodesc_pd_dma);
- if (ha->iodesc_pd == NULL) {
- /* error */
- qla_printk(KERN_WARNING, ha,
- "Memory Allocation failed - iodesc_pd\n");
-
- qla2x00_mem_free(ha);
- msleep(100);
-
- continue;
- }
- memset(ha->iodesc_pd, 0, PORT_DATABASE_SIZE);

/* Done all allocations without any error. */
status = 0;