From 69a368cf7e1906d874e190031787b4dcb4493add Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Tue, 26 Apr 2016 11:43:42 +0000
Subject: [PATCH] ar71xx: simplify patch 613 and add missing error handling

Dynamic allocation of label can be simplified.
Also add error handling to deal with failed memory allocation.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 49244
---
 ...IPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch | 6 +++---
 ...IPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch b/target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
index a832bf84ce..e8bbe44002 100644
--- a/target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
+++ b/target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
@@ -18,12 +18,12 @@
  
 +static int ath79_request_ext_lna_gpio(unsigned chain, int gpio)
 +{
-+	char buf[32];
 +	char *label;
 +	int err;
 +
-+	scnprintf(buf, sizeof(buf), "external LNA%u", chain);
-+	label = kstrdup(buf, GFP_KERNEL);
++	label = kasprintf(GFP_KERNEL, "external LNA%u", chain);
++	if (!label)
++		return -ENOMEM;
 +
 +	err = gpio_request_one(gpio, GPIOF_DIR_OUT | GPIOF_INIT_LOW, label);
 +	if (err) {
diff --git a/target/linux/ar71xx/patches-4.4/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch b/target/linux/ar71xx/patches-4.4/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
index a832bf84ce..e8bbe44002 100644
--- a/target/linux/ar71xx/patches-4.4/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
+++ b/target/linux/ar71xx/patches-4.4/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
@@ -18,12 +18,12 @@
  
 +static int ath79_request_ext_lna_gpio(unsigned chain, int gpio)
 +{
-+	char buf[32];
 +	char *label;
 +	int err;
 +
-+	scnprintf(buf, sizeof(buf), "external LNA%u", chain);
-+	label = kstrdup(buf, GFP_KERNEL);
++	label = kasprintf(GFP_KERNEL, "external LNA%u", chain);
++	if (!label)
++		return -ENOMEM;
 +
 +	err = gpio_request_one(gpio, GPIOF_DIR_OUT | GPIOF_INIT_LOW, label);
 +	if (err) {
-- 
GitLab