qcacmn: Check null in qdf_nbuf_track_free

Freeing a null pointer shouldn't do anything.
Some code relies on this.  Specifically, in a
rare scenario, an allocation is made outside of
a spinlock and may freed without being used or
verified inside the spinlock.

Change-Id: Ib5f8ecabc62454a0ca9b6723cd80ff2f701196c3
CRs-Fixed: 1024277
这个提交包含在:
Houston Hoffman
2016-06-13 11:04:08 -07:00
提交者 Akash Patel
父节点 2990bdc28f
当前提交 28803728da

查看文件

@@ -717,6 +717,9 @@ static void qdf_nbuf_track_free(QDF_NBUF_TRACK *node)
{ {
unsigned long irq_flag; unsigned long irq_flag;
if (!node)
return;
/* Try to shrink the freelist if free_list_count > than FREEQ_POOLSIZE /* Try to shrink the freelist if free_list_count > than FREEQ_POOLSIZE
* only shrink the freelist if it is bigger than twice the number of * only shrink the freelist if it is bigger than twice the number of
* nbufs in use. If the driver is stalling in a consistent bursty * nbufs in use. If the driver is stalling in a consistent bursty