|
@@ -88,29 +88,14 @@ static int pseries_eeh_init(void)
|
|
* and its variant since the old firmware probably support address
|
|
* and its variant since the old firmware probably support address
|
|
* of domain/bus/slot/function for EEH RTAS operations.
|
|
* of domain/bus/slot/function for EEH RTAS operations.
|
|
*/
|
|
*/
|
|
- if (ibm_set_eeh_option == RTAS_UNKNOWN_SERVICE) {
|
|
|
|
- pr_warn("%s: RTAS service <ibm,set-eeh-option> invalid\n",
|
|
|
|
- __func__);
|
|
|
|
- return -EINVAL;
|
|
|
|
- } else if (ibm_set_slot_reset == RTAS_UNKNOWN_SERVICE) {
|
|
|
|
- pr_warn("%s: RTAS service <ibm,set-slot-reset> invalid\n",
|
|
|
|
- __func__);
|
|
|
|
- return -EINVAL;
|
|
|
|
- } else if (ibm_read_slot_reset_state2 == RTAS_UNKNOWN_SERVICE &&
|
|
|
|
- ibm_read_slot_reset_state == RTAS_UNKNOWN_SERVICE) {
|
|
|
|
- pr_warn("%s: RTAS service <ibm,read-slot-reset-state2> and "
|
|
|
|
- "<ibm,read-slot-reset-state> invalid\n",
|
|
|
|
- __func__);
|
|
|
|
- return -EINVAL;
|
|
|
|
- } else if (ibm_slot_error_detail == RTAS_UNKNOWN_SERVICE) {
|
|
|
|
- pr_warn("%s: RTAS service <ibm,slot-error-detail> invalid\n",
|
|
|
|
- __func__);
|
|
|
|
- return -EINVAL;
|
|
|
|
- } else if (ibm_configure_pe == RTAS_UNKNOWN_SERVICE &&
|
|
|
|
- ibm_configure_bridge == RTAS_UNKNOWN_SERVICE) {
|
|
|
|
- pr_warn("%s: RTAS service <ibm,configure-pe> and "
|
|
|
|
- "<ibm,configure-bridge> invalid\n",
|
|
|
|
- __func__);
|
|
|
|
|
|
+ if (ibm_set_eeh_option == RTAS_UNKNOWN_SERVICE ||
|
|
|
|
+ ibm_set_slot_reset == RTAS_UNKNOWN_SERVICE ||
|
|
|
|
+ (ibm_read_slot_reset_state2 == RTAS_UNKNOWN_SERVICE &&
|
|
|
|
+ ibm_read_slot_reset_state == RTAS_UNKNOWN_SERVICE) ||
|
|
|
|
+ ibm_slot_error_detail == RTAS_UNKNOWN_SERVICE ||
|
|
|
|
+ (ibm_configure_pe == RTAS_UNKNOWN_SERVICE &&
|
|
|
|
+ ibm_configure_bridge == RTAS_UNKNOWN_SERVICE)) {
|
|
|
|
+ pr_info("EEH functionality not supported\n");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -118,11 +103,11 @@ static int pseries_eeh_init(void)
|
|
spin_lock_init(&slot_errbuf_lock);
|
|
spin_lock_init(&slot_errbuf_lock);
|
|
eeh_error_buf_size = rtas_token("rtas-error-log-max");
|
|
eeh_error_buf_size = rtas_token("rtas-error-log-max");
|
|
if (eeh_error_buf_size == RTAS_UNKNOWN_SERVICE) {
|
|
if (eeh_error_buf_size == RTAS_UNKNOWN_SERVICE) {
|
|
- pr_warn("%s: unknown EEH error log size\n",
|
|
|
|
|
|
+ pr_info("%s: unknown EEH error log size\n",
|
|
__func__);
|
|
__func__);
|
|
eeh_error_buf_size = 1024;
|
|
eeh_error_buf_size = 1024;
|
|
} else if (eeh_error_buf_size > RTAS_ERROR_LOG_MAX) {
|
|
} else if (eeh_error_buf_size > RTAS_ERROR_LOG_MAX) {
|
|
- pr_warn("%s: EEH error log size %d exceeds the maximal %d\n",
|
|
|
|
|
|
+ pr_info("%s: EEH error log size %d exceeds the maximal %d\n",
|
|
__func__, eeh_error_buf_size, RTAS_ERROR_LOG_MAX);
|
|
__func__, eeh_error_buf_size, RTAS_ERROR_LOG_MAX);
|
|
eeh_error_buf_size = RTAS_ERROR_LOG_MAX;
|
|
eeh_error_buf_size = RTAS_ERROR_LOG_MAX;
|
|
}
|
|
}
|