On 17/01/14 2:00 PM, "Mike Christie" <micha...@cs.wisc.edu> wrote:

>
>> +static void qla4xxx_destroy_ddb(struct scsi_qla_host *ha,
>> +            struct ddb_entry *ddb_entry)
>> +{
>> +    struct dev_db_entry *fw_ddb_entry = NULL;
>> +    dma_addr_t fw_ddb_entry_dma;
>> +    unsigned long wtime;
>> +    uint32_t ddb_state;
>> +    int options;
>> +    int status;
>> +
>> +    options = LOGOUT_OPTION_CLOSE_SESSION;
>> +    if (qla4xxx_session_logout_ddb(ha, ddb_entry, options) == QLA_ERROR) {
>> +            ql4_printk(KERN_ERR, ha, "%s: Logout failed\n", __func__);
>> +            goto clear_ddb;
>> +    }
>> +
>> +    fw_ddb_entry = dma_alloc_coherent(&ha->pdev->dev,
>>sizeof(*fw_ddb_entry),
>> +                                      &fw_ddb_entry_dma, GFP_KERNEL);
>> +    if (!fw_ddb_entry) {
>> +            ql4_printk(KERN_ERR, ha,
>> +                       "%s: Unable to allocate dma buffer\n", __func__);
>> +            goto clear_ddb;
>> +    }
>> +
>> +    wtime = jiffies + (HZ * LOGOUT_TOV);
>> +    do {
>> +            status = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
>> +                                             fw_ddb_entry, fw_ddb_entry_dma,
>> +                                             NULL, NULL, &ddb_state, NULL,
>> +                                             NULL, NULL);
>> +            if (status == QLA_ERROR)
>> +                    goto clear_ddb;
>> +
>> +            if ((ddb_state == DDB_DS_NO_CONNECTION_ACTIVE) ||
>> +                (ddb_state == DDB_DS_SESSION_FAILED))
>> +                    goto clear_ddb;
>> +
>> +            schedule_timeout_uninterruptible(HZ);
>> +    } while ((time_after(wtime, jiffies)));
>
>
>I think there is a missing dma_free_coherent
>
>> +
>> +clear_ddb:
>> +    qla4xxx_clear_ddb_entry(ha, ddb_entry->fw_ddb_index);
>> +    return;
>> +}
>> +
>
>Don't need return statement there.


Thanks a lot for review.
Updated patch is posted here:-
http://marc.info/?l=linux-scsi&m=138995390232212&w=2

Thanks,
Vikas.

<<attachment: winmail.dat>>

Reply via email to