From: David Laight <david.laight.linux@gmail.com>
In ethtool_cmis_cdb_execute_epl_cmd() change space_left and
bytes_to_write from u16 to u32.
Although the values may fit in 16 bits, 32bit variables will generate
better code.
Replace the nested min_t(u16, bytes_left, min_t(u16, space_left, x))
with a call to min3().
Signed-off-by: David Laight <david.laight.linux@gmail.com>
---
net/ethtool/cmis_cdb.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/net/ethtool/cmis_cdb.c b/net/ethtool/cmis_cdb.c
index 3057576bc81e..1406205e047e 100644
--- a/net/ethtool/cmis_cdb.c
+++ b/net/ethtool/cmis_cdb.c
@@ -573,12 +573,11 @@ ethtool_cmis_cdb_execute_epl_cmd(struct net_device *dev,
while (offset <= CMIS_CDB_EPL_FW_BLOCK_OFFSET_END &&
bytes_written < epl_len) {
u32 bytes_left = epl_len - bytes_written;
- u16 space_left, bytes_to_write;
+ u32 space_left, bytes_to_write;
space_left = CMIS_CDB_EPL_FW_BLOCK_OFFSET_END - offset + 1;
- bytes_to_write = min_t(u16, bytes_left,
- min_t(u16, space_left,
- args->read_write_len_ext));
+ bytes_to_write = min3(bytes_left, space_left,
+ args->read_write_len_ext);
err = __ethtool_cmis_cdb_execute_cmd(dev, page_data,
page, offset,
--
2.39.5