diff options
Diffstat (limited to 'drivers/net/wireless/p54/eeprom.c')
-rw-r--r-- | drivers/net/wireless/p54/eeprom.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/p54/eeprom.c b/drivers/net/wireless/p54/eeprom.c index 187e263b045a..e51650ed49f2 100644 --- a/drivers/net/wireless/p54/eeprom.c +++ b/drivers/net/wireless/p54/eeprom.c | |||
@@ -599,13 +599,13 @@ int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len) | |||
599 | } | 599 | } |
600 | break; | 600 | break; |
601 | case PDR_PRISM_ZIF_TX_IQ_CALIBRATION: | 601 | case PDR_PRISM_ZIF_TX_IQ_CALIBRATION: |
602 | priv->iq_autocal = kmalloc(data_len, GFP_KERNEL); | 602 | priv->iq_autocal = kmemdup(entry->data, data_len, |
603 | GFP_KERNEL); | ||
603 | if (!priv->iq_autocal) { | 604 | if (!priv->iq_autocal) { |
604 | err = -ENOMEM; | 605 | err = -ENOMEM; |
605 | goto err; | 606 | goto err; |
606 | } | 607 | } |
607 | 608 | ||
608 | memcpy(priv->iq_autocal, entry->data, data_len); | ||
609 | priv->iq_autocal_len = data_len / sizeof(struct pda_iq_autocal_entry); | 609 | priv->iq_autocal_len = data_len / sizeof(struct pda_iq_autocal_entry); |
610 | break; | 610 | break; |
611 | case PDR_DEFAULT_COUNTRY: | 611 | case PDR_DEFAULT_COUNTRY: |