diff options
-rw-r--r-- | drivers/firmware/iscsi_ibft.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/firmware/iscsi_ibft.c b/drivers/firmware/iscsi_ibft.c index 051d1ebbd287..f82bcdae130b 100644 --- a/drivers/firmware/iscsi_ibft.c +++ b/drivers/firmware/iscsi_ibft.c @@ -381,7 +381,7 @@ static ssize_t ibft_attr_show_nic(struct ibft_kobject *entry, void *ibft_loc = entry->header; char *str = buf; char *mac; - int val; + __be32 val; if (!nic) return 0; @@ -397,10 +397,8 @@ static ssize_t ibft_attr_show_nic(struct ibft_kobject *entry, str += sprintf_ipaddr(str, nic->ip_addr); break; case ibft_eth_subnet_mask: - val = ~((1 << (32-nic->subnet_mask_prefix))-1); - str += sprintf(str, NIPQUAD_FMT, - (u8)(val >> 24), (u8)(val >> 16), - (u8)(val >> 8), (u8)(val)); + val = cpu_to_be32(~((1 << (32-nic->subnet_mask_prefix))-1)); + str += sprintf(str, "%pI4", &val); break; case ibft_eth_origin: str += sprintf(str, "%d\n", nic->origin); |