diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-05-02 11:50:03 +0200 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-05-29 03:01:58 +0200 |
commit | 052991d7ac7f7b2c0319e6ccd2e8a48a71f2bd58 (patch) | |
tree | 07706156ef906951c2f602aadfa7793c4409aa0b /drivers/net/wimax/i2400m/rx.c | |
parent | wimax/i2400m: factor out 'state report's TLV handling to a function (diff) | |
download | linux-052991d7ac7f7b2c0319e6ccd2e8a48a71f2bd58.tar.xz linux-052991d7ac7f7b2c0319e6ccd2e8a48a71f2bd58.zip |
wimax/i2400m: remove redundant readiness checks from i2400m_report_tlv_*()
Functions i2400m_report_tlv*() are only called from
i2400m_report_hook(), called in a workqueue by
i2400m_report_hook_work(). The scheduler checks for device readiness
before scheduling.
Added an extra check for readiness in i2400m_report_hook_work(), which
makes all the checks down the line redundant.
Obviously the device state could change in the middle, but error
handling would take care of that.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'drivers/net/wimax/i2400m/rx.c')
-rw-r--r-- | drivers/net/wimax/i2400m/rx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wimax/i2400m/rx.c b/drivers/net/wimax/i2400m/rx.c index a4adc78102fb..7643850a6fb8 100644 --- a/drivers/net/wimax/i2400m/rx.c +++ b/drivers/net/wimax/i2400m/rx.c @@ -177,7 +177,8 @@ void i2400m_report_hook_work(struct work_struct *ws) struct i2400m_work *iw = container_of(ws, struct i2400m_work, ws); struct i2400m_report_hook_args *args = (void *) iw->pl; - i2400m_report_hook(iw->i2400m, args->l3l4_hdr, args->size); + if (iw->i2400m->ready) + i2400m_report_hook(iw->i2400m, args->l3l4_hdr, args->size); kfree_skb(args->skb_rx); i2400m_put(iw->i2400m); kfree(iw); |