Messages in this thread Patch in this message | | | Date | Mon, 13 Sep 2004 14:24:13 -0700 | From | Andrew Vasquez <> | Subject | Re: 2.6.9-rc1-mm5 qlogic oops |
| |
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 ===== 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; | |