On Mon, 2012-02-06 at 16:07 +0200, Kalle Valo wrote: > Luciano Coelho <coelho@xxxxxx> writes: > > >> + if (index >= WL1271_MAX_RX_DATA_FILTERS) { > >> + wl1271_warning("acx_set_rx_data_filter: invalid filter idx(%d)", > >> + index); > >> + return -EINVAL; > >> + } > > > > Should we use BUG_ON instead? This is only used internally in the > > driver, so if it get here, it's a bug. And if the filters come from > > userspace, we should validate them before continuing anyway. > > BUG_ON() is evil and wireless drivers should really not use it, > WARN_ON_ONCE() and return with an error is much more user friendly. Yeah, BUG_ON() is evil, but sometimes it can be good to have. I don't agree with "wireless drivers should really not use it". There are 181 occurrences in wireless-testing/master right now[1]. I'm not saying this measure is either accurate or an excuse to use it where we shouldn't, but it shows that it really has widespread usage in wireless drivers. My point was that this can only happen very early, when the driver is being initialized. But this is not exactly this case, it only happens when we suspend or resume, so you're right here. Maybe in this case we should check with a BUILD_BUG_ON somehow. And actually, I nacked this part of the patchset, they definitely need to be reworked. Eliad already sent v2 of the first 4, leaving 5/6/7 out. In any case, thanks a lot for your comment, Kalle! :) [1] luca@cumari:~/kernel/wl12xx$ find drivers/net/wireless/ -name '*.[ch]' -exec grep -e '\<BUG_ON\>' {} \;|wc -l 181 -- Cheers, Luca. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html