int err;
 
        mlxsw_reg_mtbr_pack(mtbr_pl, slot_index,
-                           MLXSW_REG_MTBR_BASE_MODULE_INDEX + module, 1);
+                           MLXSW_REG_MTBR_BASE_MODULE_INDEX + module);
        err = mlxsw_reg_query(mlxsw_core, MLXSW_REG(mtbr), mtbr_pl);
        if (err)
                return err;
 
 
        module = mlxsw_hwmon_attr->type_index - mlxsw_hwmon_dev->sensor_count;
        mlxsw_reg_mtbr_pack(mtbr_pl, mlxsw_hwmon_dev->slot_index,
-                           MLXSW_REG_MTBR_BASE_MODULE_INDEX + module, 1);
+                           MLXSW_REG_MTBR_BASE_MODULE_INDEX + module);
        err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mtbr), mtbr_pl);
        if (err) {
                dev_err(dev, "Failed to query module temperature sensor\n");
 
 #define MLXSW_REG_MTBR_ID 0x900F
 #define MLXSW_REG_MTBR_BASE_LEN 0x10 /* base length, without records */
 #define MLXSW_REG_MTBR_REC_LEN 0x04 /* record length */
-#define MLXSW_REG_MTBR_REC_MAX_COUNT 47 /* firmware limitation */
+#define MLXSW_REG_MTBR_REC_MAX_COUNT 1
 #define MLXSW_REG_MTBR_LEN (MLXSW_REG_MTBR_BASE_LEN +  \
                            MLXSW_REG_MTBR_REC_LEN *    \
                            MLXSW_REG_MTBR_REC_MAX_COUNT)
                     MLXSW_REG_MTBR_REC_LEN, 0x00, false);
 
 static inline void mlxsw_reg_mtbr_pack(char *payload, u8 slot_index,
-                                      u16 base_sensor_index, u8 num_rec)
+                                      u16 base_sensor_index)
 {
        MLXSW_REG_ZERO(mtbr, payload);
        mlxsw_reg_mtbr_slot_index_set(payload, slot_index);
        mlxsw_reg_mtbr_base_sensor_index_set(payload, base_sensor_index);
-       mlxsw_reg_mtbr_num_rec_set(payload, num_rec);
+       mlxsw_reg_mtbr_num_rec_set(payload, 1);
 }
 
 /* Error codes from temperatute reading */