Skip to content

Commit 5b6658e

Browse files
ofirbittogabbay
authored andcommitted
accel/habanalabs/hwmon: rate limit errors user can generate
Fetching sensor data can fail due to various reasons. In order not to pollute the kernel log, those error prints must be rate limited. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Reviewed-by: Carl Vanderlip <quic_carlv@quicinc.com> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
1 parent 3bf6ef9 commit 5b6658e

File tree

1 file changed

+15
-14
lines changed
  • drivers/accel/habanalabs/common

1 file changed

+15
-14
lines changed

drivers/accel/habanalabs/common/hwmon.c

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ static u32 fixup_flags_legacy_fw(struct hl_device *hdev, enum hwmon_sensor_types
4646
break;
4747

4848
default:
49-
dev_err(hdev->dev, "unsupported h/w sensor type %d\n", type);
49+
dev_err_ratelimited(hdev->dev, "unsupported h/w sensor type %d\n", type);
5050
flags = cpucp_flags;
5151
break;
5252
}
@@ -134,7 +134,7 @@ static u32 adjust_hwmon_flags(struct hl_device *hdev, enum hwmon_sensor_types ty
134134
break;
135135

136136
default:
137-
dev_err(hdev->dev, "unsupported h/w sensor type %d\n", type);
137+
dev_err_ratelimited(hdev->dev, "unsupported h/w sensor type %d\n", type);
138138
flags = cpucp_flags;
139139
break;
140140
}
@@ -162,7 +162,8 @@ int hl_build_hwmon_channel_info(struct hl_device *hdev, struct cpucp_sensor *sen
162162
break;
163163

164164
if (type >= HWMON_NR_SENSOR_TYPES) {
165-
dev_err(hdev->dev, "Got wrong sensor type %d from device\n", type);
165+
dev_err_ratelimited(hdev->dev,
166+
"Got wrong sensor type %d from device\n", type);
166167
return -EINVAL;
167168
}
168169

@@ -584,7 +585,7 @@ int hl_get_temperature(struct hl_device *hdev,
584585
*value = (long) result;
585586

586587
if (rc) {
587-
dev_err(hdev->dev,
588+
dev_err_ratelimited(hdev->dev,
588589
"Failed to get temperature from sensor %d, error %d\n",
589590
sensor_index, rc);
590591
*value = 0;
@@ -611,7 +612,7 @@ int hl_set_temperature(struct hl_device *hdev,
611612
0, NULL);
612613

613614
if (rc)
614-
dev_err(hdev->dev,
615+
dev_err_ratelimited(hdev->dev,
615616
"Failed to set temperature of sensor %d, error %d\n",
616617
sensor_index, rc);
617618

@@ -638,7 +639,7 @@ int hl_get_voltage(struct hl_device *hdev,
638639
*value = (long) result;
639640

640641
if (rc) {
641-
dev_err(hdev->dev,
642+
dev_err_ratelimited(hdev->dev,
642643
"Failed to get voltage from sensor %d, error %d\n",
643644
sensor_index, rc);
644645
*value = 0;
@@ -667,7 +668,7 @@ int hl_get_current(struct hl_device *hdev,
667668
*value = (long) result;
668669

669670
if (rc) {
670-
dev_err(hdev->dev,
671+
dev_err_ratelimited(hdev->dev,
671672
"Failed to get current from sensor %d, error %d\n",
672673
sensor_index, rc);
673674
*value = 0;
@@ -696,7 +697,7 @@ int hl_get_fan_speed(struct hl_device *hdev,
696697
*value = (long) result;
697698

698699
if (rc) {
699-
dev_err(hdev->dev,
700+
dev_err_ratelimited(hdev->dev,
700701
"Failed to get fan speed from sensor %d, error %d\n",
701702
sensor_index, rc);
702703
*value = 0;
@@ -725,7 +726,7 @@ int hl_get_pwm_info(struct hl_device *hdev,
725726
*value = (long) result;
726727

727728
if (rc) {
728-
dev_err(hdev->dev,
729+
dev_err_ratelimited(hdev->dev,
729730
"Failed to get pwm info from sensor %d, error %d\n",
730731
sensor_index, rc);
731732
*value = 0;
@@ -752,7 +753,7 @@ void hl_set_pwm_info(struct hl_device *hdev, int sensor_index, u32 attr,
752753
0, NULL);
753754

754755
if (rc)
755-
dev_err(hdev->dev,
756+
dev_err_ratelimited(hdev->dev,
756757
"Failed to set pwm info to sensor %d, error %d\n",
757758
sensor_index, rc);
758759
}
@@ -775,7 +776,7 @@ int hl_set_voltage(struct hl_device *hdev,
775776
0, NULL);
776777

777778
if (rc)
778-
dev_err(hdev->dev,
779+
dev_err_ratelimited(hdev->dev,
779780
"Failed to set voltage of sensor %d, error %d\n",
780781
sensor_index, rc);
781782

@@ -800,7 +801,7 @@ int hl_set_current(struct hl_device *hdev,
800801
0, NULL);
801802

802803
if (rc)
803-
dev_err(hdev->dev,
804+
dev_err_ratelimited(hdev->dev,
804805
"Failed to set current of sensor %d, error %d\n",
805806
sensor_index, rc);
806807

@@ -831,7 +832,7 @@ int hl_set_power(struct hl_device *hdev,
831832
0, NULL);
832833

833834
if (rc)
834-
dev_err(hdev->dev,
835+
dev_err_ratelimited(hdev->dev,
835836
"Failed to set power of sensor %d, error %d\n",
836837
sensor_index, rc);
837838

@@ -858,7 +859,7 @@ int hl_get_power(struct hl_device *hdev,
858859
*value = (long) result;
859860

860861
if (rc) {
861-
dev_err(hdev->dev,
862+
dev_err_ratelimited(hdev->dev,
862863
"Failed to get power of sensor %d, error %d\n",
863864
sensor_index, rc);
864865
*value = 0;

0 commit comments

Comments
 (0)