From: Felix Fietkau Date: Mon, 12 May 2014 20:43:18 +0200 Subject: [ath9k-devel] [PATCH] ath9k: fix NULL-deref in hw_per_calibration() for ar9002 In-Reply-To: <20140512174910.GM17022@tuxdriver.com> References: <1399447378-31503-1-git-send-email-dh.herrmann@gmail.com> <20140507195435.GF20432@tuxdriver.com> <536A9479.8010201@openwrt.org> <20140512174910.GM17022@tuxdriver.com> Message-ID: <53711646.1030909@openwrt.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org On 2014-05-12 19:49, John W. Linville wrote: > On Wed, May 07, 2014 at 10:15:53PM +0200, Felix Fietkau wrote: >> On 2014-05-07 21:54, John W. Linville wrote: >> > On Wed, May 07, 2014 at 09:22:58AM +0200, David Herrmann wrote: >> >> ah->caldata may be NULL if no channel is selected. Check for that before >> >> accessing it. >> >> >> >> Signed-off-by: David Herrmann >> >> --- >> >> Hi >> >> >> >> This is _definitely_ only a workaround, given that no-one guarantees ah->caldata >> >> is freed while we run in hw_per_calibration(). However, this patch fixes serious >> >> kernel panics with wifi-P2P on my machine. >> >> >> >> I'm not sure why ah->caldata can be NULL, but it definitely is. I think the >> >> correct fix would be to synchronously stop any running hw-calibration before >> >> setting ah->caldata to NULL. I don't know whether/where that is done, so I wrote >> >> this small workaround. >> >> >> >> Thanks >> >> David >> > >> > Is there any hope for getting a more complete fix from the ath9k guys >> > in short order? >> This looks easy to fix. I'll send a patch soon. > > Ping? I looked into it again, the scenario where I assumed that this problem could occur didn't turn out to be true. I have no idea how this crash can occur. - Felix