Skip to content

Commit

Permalink
p9dsu: detect variant in init only if probe fails to found.
Browse files Browse the repository at this point in the history
Currently the slot table init happens twice in both probe and init
functions due to the variant detection logic called with in-correct
condition check.

Fixes: d32ddea ("p9dsu: detect p9dsu variant even when hostboot
doesn't tell us")

Signed-off-by: Pridhiviraj Paidipeddi <[email protected]>
[stewart: renanem variant-detected to p9dsu-riser-detected]
Signed-off-by: Stewart Smith <[email protected]>
  • Loading branch information
pridhiviraj authored and stewartsmith committed May 11, 2018
1 parent d5d7966 commit 05d9d98
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions platforms/astbmc/p9dsu.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@

#include "astbmc.h"

static bool p9dsu_riser_found = false;

static const struct slot_table_entry p9dsu1u_phb0_0_slot[] = {
{
.etype = st_pluggable_slot,
Expand Down Expand Up @@ -590,6 +592,8 @@ static bool p9dsu_probe(void)
dt_node_is_compatible(dt_root, "supermicro,p9dsu2uess")))
return false;

p9dsu_riser_found = true;

/* Lot of common early inits here */
astbmc_early_init();

Expand All @@ -607,7 +611,7 @@ static bool p9dsu_probe(void)
} else if (dt_node_is_compatible(dt_root, "supermicro,p9dsu2uess")) {
prlog(PR_INFO, "Detected p9dsu2uess variant\n");
slot_table_init(p9dsu2uess_phb_table);
}
} else {
/*
* else we need to ask the BMC what subtype we are, but we need IPMI
* which we don't get until astbmc_init(), so we delay setting up the
Expand All @@ -616,6 +620,8 @@ static bool p9dsu_probe(void)
* This only applies if you're using a Hostboot that doesn't do this
* for us.
*/
p9dsu_riser_found = false;
}

return true;
}
Expand All @@ -642,7 +648,7 @@ static void p9dsu_init(void)
* variant we are if Hostboot isn't the patched one that does this
* for us.
*/
if (dt_node_is_compatible(dt_root, "supermicro,p9dsu")) {
if (!p9dsu_riser_found) {
ipmi_msg = ipmi_mkmsg(IPMI_DEFAULT_INTERFACE,
IPMI_CODE(IPMI_NETFN_APP, 0x52),
p9dsu_riser_query_complete,
Expand Down

0 comments on commit 05d9d98

Please sign in to comment.