ar71xx: simplify patch 613 and add missing error handling
authorJohn Crispin <john@openwrt.org>
Tue, 26 Apr 2016 11:43:42 +0000 (11:43 +0000)
committerJohn Crispin <john@openwrt.org>
Tue, 26 Apr 2016 11:43:42 +0000 (11:43 +0000)
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

target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
target/linux/ar71xx/patches-4.4/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch

index a832bf84ceb0249e60745aadca6b7c837ff267b3..e8bbe440027d283350ca594cbef6440a0cc77de2 100644 (file)
  
 +static int ath79_request_ext_lna_gpio(unsigned chain, int gpio)
 +{
  
 +static int ath79_request_ext_lna_gpio(unsigned chain, int gpio)
 +{
-+      char buf[32];
 +      char *label;
 +      int err;
 +
 +      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) {
 +
 +      err = gpio_request_one(gpio, GPIOF_DIR_OUT | GPIOF_INIT_LOW, label);
 +      if (err) {
index a832bf84ceb0249e60745aadca6b7c837ff267b3..e8bbe440027d283350ca594cbef6440a0cc77de2 100644 (file)
  
 +static int ath79_request_ext_lna_gpio(unsigned chain, int gpio)
 +{
  
 +static int ath79_request_ext_lna_gpio(unsigned chain, int gpio)
 +{
-+      char buf[32];
 +      char *label;
 +      int err;
 +
 +      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) {
 +
 +      err = gpio_request_one(gpio, GPIOF_DIR_OUT | GPIOF_INIT_LOW, label);
 +      if (err) {