On Mon, 2023-07-03 at 11:02 +0800, You Kangren wrote: > Replacing ternary conditional operators with conditional statements > ensures proper expression of meaning while making it easier for > the compiler to generate code. No you underestimated the compiler here. Both GCC and Clang translates the ternary operator and the if statement into the same IR during very early passes. Maybe there is some reason to avoid ternary operators, but "making it easier for compiler" is just invalid. And "my text book/my teacher says ternary operators are bad" will be invalid too, the kernel coding convention is not what the text book or teacher say. > Signed-off-by: You Kangren <youkangren@xxxxxxxx> > --- > net/mac80211/tdls.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/mac80211/tdls.c b/net/mac80211/tdls.c > index a4af3b7675ef..41176491965d 100644 > --- a/net/mac80211/tdls.c > +++ b/net/mac80211/tdls.c > @@ -946,7 +946,8 @@ ieee80211_tdls_build_mgmt_packet_data(struct > ieee80211_sub_if_data *sdata, > int ret; > struct ieee80211_link_data *link; > > - link_id = link_id >= 0 ? link_id : 0; > + if (link_id < 0) > + link_id = 0; > rcu_read_lock(); > link = rcu_dereference(sdata->link[link_id]); > if (WARN_ON(!link)) -- Xi Ruoyao <xry111@xxxxxxxxxxx> School of Aerospace Science and Technology, Xidian University