mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-07-06 22:05:22 +02:00
Merge branch 'mlxsw-fixes'
Merge branch 'mlxsw-fixes' Ido Schimmel says: ==================== mlxsw: Thermal and qdisc fixes Patches #1-#2 fix wrong validation of burst size in qdisc code and a user triggerable WARN_ON(). Patch #3 fixes a regression in thermal monitoring of transceiver modules and gearboxes. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
aaab3076d7
|
@ -693,7 +693,8 @@ mlxsw_thermal_module_tz_init(struct mlxsw_thermal_module *module_tz)
|
||||||
MLXSW_THERMAL_TRIP_MASK,
|
MLXSW_THERMAL_TRIP_MASK,
|
||||||
module_tz,
|
module_tz,
|
||||||
&mlxsw_thermal_module_ops,
|
&mlxsw_thermal_module_ops,
|
||||||
NULL, 0, 0);
|
NULL, 0,
|
||||||
|
module_tz->parent->polling_delay);
|
||||||
if (IS_ERR(module_tz->tzdev)) {
|
if (IS_ERR(module_tz->tzdev)) {
|
||||||
err = PTR_ERR(module_tz->tzdev);
|
err = PTR_ERR(module_tz->tzdev);
|
||||||
return err;
|
return err;
|
||||||
|
@ -815,7 +816,8 @@ mlxsw_thermal_gearbox_tz_init(struct mlxsw_thermal_module *gearbox_tz)
|
||||||
MLXSW_THERMAL_TRIP_MASK,
|
MLXSW_THERMAL_TRIP_MASK,
|
||||||
gearbox_tz,
|
gearbox_tz,
|
||||||
&mlxsw_thermal_gearbox_ops,
|
&mlxsw_thermal_gearbox_ops,
|
||||||
NULL, 0, 0);
|
NULL, 0,
|
||||||
|
gearbox_tz->parent->polling_delay);
|
||||||
if (IS_ERR(gearbox_tz->tzdev))
|
if (IS_ERR(gearbox_tz->tzdev))
|
||||||
return PTR_ERR(gearbox_tz->tzdev);
|
return PTR_ERR(gearbox_tz->tzdev);
|
||||||
|
|
||||||
|
|
|
@ -3907,7 +3907,7 @@ MLXSW_ITEM32(reg, qeec, max_shaper_bs, 0x1C, 0, 6);
|
||||||
#define MLXSW_REG_QEEC_HIGHEST_SHAPER_BS 25
|
#define MLXSW_REG_QEEC_HIGHEST_SHAPER_BS 25
|
||||||
#define MLXSW_REG_QEEC_LOWEST_SHAPER_BS_SP1 5
|
#define MLXSW_REG_QEEC_LOWEST_SHAPER_BS_SP1 5
|
||||||
#define MLXSW_REG_QEEC_LOWEST_SHAPER_BS_SP2 11
|
#define MLXSW_REG_QEEC_LOWEST_SHAPER_BS_SP2 11
|
||||||
#define MLXSW_REG_QEEC_LOWEST_SHAPER_BS_SP3 5
|
#define MLXSW_REG_QEEC_LOWEST_SHAPER_BS_SP3 11
|
||||||
|
|
||||||
static inline void mlxsw_reg_qeec_pack(char *payload, u8 local_port,
|
static inline void mlxsw_reg_qeec_pack(char *payload, u8 local_port,
|
||||||
enum mlxsw_reg_qeec_hr hr, u8 index,
|
enum mlxsw_reg_qeec_hr hr, u8 index,
|
||||||
|
|
|
@ -1332,6 +1332,7 @@ __mlxsw_sp_qdisc_ets_graft(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||||
u8 band, u32 child_handle)
|
u8 band, u32 child_handle)
|
||||||
{
|
{
|
||||||
struct mlxsw_sp_qdisc *old_qdisc;
|
struct mlxsw_sp_qdisc *old_qdisc;
|
||||||
|
u32 parent;
|
||||||
|
|
||||||
if (band < mlxsw_sp_qdisc->num_classes &&
|
if (band < mlxsw_sp_qdisc->num_classes &&
|
||||||
mlxsw_sp_qdisc->qdiscs[band].handle == child_handle)
|
mlxsw_sp_qdisc->qdiscs[band].handle == child_handle)
|
||||||
|
@ -1352,7 +1353,9 @@ __mlxsw_sp_qdisc_ets_graft(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||||
if (old_qdisc)
|
if (old_qdisc)
|
||||||
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, old_qdisc);
|
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, old_qdisc);
|
||||||
|
|
||||||
mlxsw_sp_qdisc = mlxsw_sp_qdisc->ops->find_class(mlxsw_sp_qdisc, band);
|
parent = TC_H_MAKE(mlxsw_sp_qdisc->handle, band + 1);
|
||||||
|
mlxsw_sp_qdisc = mlxsw_sp_qdisc->ops->find_class(mlxsw_sp_qdisc,
|
||||||
|
parent);
|
||||||
if (!WARN_ON(!mlxsw_sp_qdisc))
|
if (!WARN_ON(!mlxsw_sp_qdisc))
|
||||||
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
|
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user