On Wed, 2009-06-03 at 17:12 -0700, Steve Ma wrote: > The correct serial number presentation should be the same > as the one on the sticker of the HBA card. > > The PCIe Device Serial Number Capability Structure contains > > +-------------------------------------+ > | PCIe Enhanced Capability Header | 0x00 > +-------------------------------------+ > 31:0 | Serial Number Register (Lower Dword)| 0x04 > +-------------------------------------+ > 63:32 | Serial Number Register (Upper Dword)| 0x08 > +-------------------------------------+ > > The Serial Number register shown above is a 64-bit field > that contains the IEEE defined 64-bit Extended Unique > Identifier (EUI-64): > > +-----+-------------------------+ > |Byte | | > |Order| Description | > +-----+-------------------------+ low > | 0 | Company ID | > | 1 | | > | 2 | | > +-----+-------------------------+ > | 3 | MAC Label (0xFFFF) | > | 4 | | > +-----+-------------------------+ > | 5 | Extension Identifier | > | 6 | | > | 7 | | > +-----+-------------------------+ high > > The 48-bit serial number shown on the HBA card is constructed from > > 47 24 23 0 > +----------------------+----------------------+ > high | Extension Identifier | Company ID | low > +----------------------+----------------------+ > > Signed-off-by: Steve Ma <[email protected]> > --- > > pci.c | 12 +++++++----- > 1 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/pci.c b/pci.c > index e559ae8..4f01995 100644 > --- a/pci.c > +++ b/pci.c > @@ -138,11 +138,13 @@ get_device_serial_number(struct pci_device *dev, struct > hba_info *hba_info) > &dword_high, offset + 8); > snprintf(hba_info->SerialNumber, > sizeof(hba_info->SerialNumber), > - "%02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x\n", > - dword_low & 0xff, (dword_low >> 8) & 0xff, > - (dword_low >> 16) & 0xff, dword_low >> 24, > - dword_high & 0xff, (dword_high >> 8) & 0xff, > - (dword_high >> 16) & 0xff, dword_high >> 24); > + "%02X%02X%02X%02X%02X%02X\n", > + dword_high >> 24, > + (dword_high >> 16) & 0xff, > + (dword_high >> 8) & 0xff, > + (dword_low >> 16) & 0xff, > + (dword_low >> 8) & 0xff, > + dword_low & 0xff);
I fixed formatting problems here by removing an extra space in each of the added lines and by consolidating a few of these lines. I have applied this patch. _______________________________________________ devel mailing list [email protected] http://www.open-fcoe.org/mailman/listinfo/devel
