From: John Soni Jose Date: Thu, 23 Aug 2012 09:02:08 +0000 (+0530) Subject: be2iscsi: Format the MAC_ADDR with sysfs_format_mac. X-Git-Tag: v2.6.39-400.9.0~333^2~3 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=332bc4e6dda7c7f48803433af00d79b044c95b58;p=users%2Fjedix%2Flinux-maple.git be2iscsi: Format the MAC_ADDR with sysfs_format_mac. The MAC_ADDR stored in driver private structure is of unsigned char data type but strlcpy parameters is of signed char data type. This conversion of data types lead to change in the value.This changed value is passed to the upper layer and junk characters were displayed when "iscsiadm -m iface" command was run. In case of iSCSI boot, since the the MAC_ADDR was coming junk the boot was also not working Patch submitted to upstream kernel Signed-off-by: John Soni Jose Signed-off-by: Jayamohan Kallickal --- diff --git a/drivers/scsi/be2iscsi/be_iscsi.c b/drivers/scsi/be2iscsi/be_iscsi.c index d950f7480f09..11747b44b050 100644 --- a/drivers/scsi/be2iscsi/be_iscsi.c +++ b/drivers/scsi/be2iscsi/be_iscsi.c @@ -701,7 +701,7 @@ int beiscsi_get_macaddr(char *buf, struct beiscsi_hba *phba) int rc; if (strlen(phba->mac_address)) - return strlcpy(buf, phba->mac_address, PAGE_SIZE); + return sysfs_format_mac(buf, phba->mac_address, ETH_ALEN); memset(&resp, 0, sizeof(resp)); rc = mgmt_get_nic_conf(phba, &resp);