From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759792AbZBDSp2 (ORCPT ); Wed, 4 Feb 2009 13:45:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758422AbZBDSh1 (ORCPT ); Wed, 4 Feb 2009 13:37:27 -0500 Received: from kroah.org ([198.145.64.141]:51124 "EHLO coco.kroah.org" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1758316AbZBDShT (ORCPT ); Wed, 4 Feb 2009 13:37:19 -0500 Date: Wed, 4 Feb 2009 10:34:59 -0800 From: Greg KH To: linux-kernel@vger.kernel.org, stable@kernel.org, Greg KH Cc: Justin Forbes , Zwane Mwaikambo , "Theodore Ts'o" , Randy Dunlap , Dave Jones , Chuck Wolber , Chris Wedgwood , Michael Krufky , Chuck Ebbert , Domenico Andreoli , Willy Tarreau , Rodrigo Rubira Branco , Jake Edge , Eugene Teo , torvalds@linux-foundation.org, akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk, Larry.Finger@lwfinger.net, linville@tuxdriver.com, Christian Lamparter Subject: [patch 22/33] p54: fix p54_read_eeprom to cope with tx_hdr_len Message-ID: <20090204183459.GW13936@kroah.com> References: <20090204182823.831027530@mini.kroah.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline; filename="p54-fix-p54_read_eeprom-to-cope-with-tx_hdr_len.patch" In-Reply-To: <20090204183403.GA13936@kroah.com> User-Agent: Mutt/1.5.16 (2007-06-09) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2.6.28-stable review patch. If anyone has any objections, please let us know. ------------------ From: Christian Lamparter commit b92f30d65aeb0502e2ed8beb80c8465578b40002 upstream This patch fixes a regression in "p54: move eeprom code into common library" 7cb770729ba895f73253dfcd46c3fcba45d896f9 Some of p54usb's devices need a little headroom for the transportation and this was forgotten in the eeprom change. Signed-off-by: Christian Lamparter Signed-off-by: Greg Kroah-Hartman --- drivers/net/wireless/p54/p54common.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) --- a/drivers/net/wireless/p54/p54common.c +++ b/drivers/net/wireless/p54/p54common.c @@ -741,17 +741,19 @@ static void p54_assign_address(struct ie int p54_read_eeprom(struct ieee80211_hw *dev) { struct p54_common *priv = dev->priv; - struct p54_control_hdr *hdr = NULL; + struct p54_control_hdr *hdr = NULL, *org_hdr; struct p54_eeprom_lm86 *eeprom_hdr; size_t eeprom_size = 0x2020, offset = 0, blocksize; int ret = -ENOMEM; void *eeprom = NULL; - hdr = (struct p54_control_hdr *)kzalloc(sizeof(*hdr) + - sizeof(*eeprom_hdr) + EEPROM_READBACK_LEN, GFP_KERNEL); - if (!hdr) + org_hdr = kzalloc(priv->tx_hdr_len + sizeof(*hdr) + + sizeof(*eeprom_hdr) + EEPROM_READBACK_LEN, + GFP_KERNEL); + if (!org_hdr) goto free; + hdr = (void *) org_hdr + priv->tx_hdr_len; priv->eeprom = kzalloc(EEPROM_READBACK_LEN, GFP_KERNEL); if (!priv->eeprom) goto free; @@ -790,7 +792,7 @@ int p54_read_eeprom(struct ieee80211_hw free: kfree(priv->eeprom); priv->eeprom = NULL; - kfree(hdr); + kfree(org_hdr); kfree(eeprom); return ret;