Description of problem:
Several functions in scsi-ml assume the parent of the shost is the pci dev (or some dev with dma info). For FC vports this is not true. The parent would be the pci dev's scsi host dev.
James Smart has fixed these issues upstream:
Version-Release number of selected component (if applicable):
Steps to Reproduce:
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
Emulex - would you happen to have an easy way to test this if provided a fix? thank you!
In our testing, we're finding the patches posted upstream are not working at all. The issue is the dev->type==NULL check in the referenced patch (and the updated patch from James B). Not only do the vport objects have a NULL type, but all pci endpoints and bridges match this. We have constructed a new patch over the weekend, and are testing it now. Assuming success, we'll post upstream, and update this bug, as soon as possible.
James - just asking if you are cool to test/verify this bug on behalf of RH is all...
Yes - although, there will be affected hardware that we don't have (it affects all scsi hosts), so we our coverage isn't 100%. But, we can extrapolate based on what we do test that they will be fine.
My main purpose of the comment was to make sure everyone is aware there is an updated patch coming.
The corrected patch has been posted upstream:
This is the patch needed in RHEL.
Mike, how is this looking?
You do not need this patch for RHEL 5, right? The driver does not use scsi_dma_map/scsi_dma_unmap, so we should be ok I think.
Still need it for RHEL 6 though. I will send that shortly.
Yes, it is needed for RHEL5 (we've filed separate bugs for each rhel version - and this one is specific for 5.5, which needs it)
I am lost then. Do we just need this patch
for RHEL5 or is there something else still missing? If it is just that patch, I do not think there are any users of vports and scsi_dma_map/scsi_dma_unmap in RHEL5, so could not figure out who else needs it? Is there a lpfc update for RHEL5 that has it use scsi_dma_map/scsi_dma_unmap like RHEL6/upstream? Or is it needed for another scenario?
Mike, It was me that was confused... you're right. RHEL5 is pre scsi_lib_dma.c and scsi_dma_map. We're fine without the patch. Sigh. Sorry for the wild goose chase. I'll close the bugzilla.