wimax: oops: wimax_dev_add() is the only one that can initialize the state
authorInaky Perez-Gonzalez <inaky@linux.intel.com>
Sat, 2 May 2009 09:30:28 +0000 (02:30 -0700)
committerInaky Perez-Gonzalez <inaky@linux.intel.com>
Wed, 6 May 2009 20:48:37 +0000 (13:48 -0700)
commit94c7f2d49521b0bb3ab91cbeb3518ac34355d47f
treea2824d07c85cfc985811ff2237eb093e540b294f
parentd1a2627a29667fe7c4a9d06e1579a2d65bd39bba
wimax: oops: wimax_dev_add() is the only one that can initialize the state

When a new wimax_dev is created, it's state has to be __WIMAX_ST_NULL
until wimax_dev_add() is succesfully called. This allows calls into
the stack that happen before said time to be rejected.

Until now, the state was being set (by mistake) to UNINITIALIZED,
which was allowing calls such as wimax_report_rfkill_hw() to go
through even when a call to wimax_dev_add() had failed; that was
causing an oops when touching uninitialized data.

This situation is normal when the device starts reporting state before
the whole initialization has been completed. It just has to be dealt
with.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
net/wimax/stack.c