From: Hariprasad Shenai Date: Thu, 26 Mar 2015 04:34:25 +0000 (+0530) Subject: cxgb4: Allocate dynamic mem. for egress and ingress queue maps X-Git-Tag: omap-for-v4.1/fixes-rc1~242^2~16^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b8e27a86d209063d8aacfb918668bbb75e56019;p=pandora-kernel.git cxgb4: Allocate dynamic mem. for egress and ingress queue maps QIDs (egress/ingress) from firmware in FW_*_CMD.alloc command can be anywhere in the range from EQ(IQFLINT)_START to EQ(IQFLINT)_END. For eg, in the first load eqid can be from 100 to 300. In the next load it can be from 301 to 500 (assume eq_start is 100 and eq_end is 1000). The driver was assuming them to always start from EQ(IQFLINT)_START till MAX_EGRQ(INGQ). This was causing stack overflow and subsequent crash. Fixed it by dynamically allocating memory (of qsize (x_END - x_START + 1)) for these structures. Based on original work by Santosh Rastapur Signed-off-by: Hariprasad Shenai Signed-off-by: David S. Miller --- Reading git-diff-tree failed