mirror of https://github.com/hak5/openwrt.git
mac80211: rt2x00: improve eeprom_file property handling
Call the rt2x00lib_get_eeprom_file_name only once and from the function where the EEPROM filename is required. Error only out if an EEPROM file is mandatory. Use the REQUIRE_EEPROM_FILE bit to determine if it is mandatory. Do not set the REQUIRE_EEPROM_FILE bit while requesting an EEPROM file. It should be (and is) set before requesting an EEPROM file. Do not redirect users to upstream while using a function of a custom patch. Signed-off-by: Mathias Kresin <dev@kresin.me>lede-17.01
parent
b5638bb64e
commit
2516c0572e
|
@ -152,7 +152,7 @@
|
|||
|
||||
--- /dev/null
|
||||
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c
|
||||
@@ -0,0 +1,111 @@
|
||||
@@ -0,0 +1,105 @@
|
||||
+/*
|
||||
+ Copyright (C) 2004 - 2009 Ivo van Doorn <IvDoorn@gmail.com>
|
||||
+ Copyright (C) 2004 - 2009 Gertjan van Wingerde <gwingerde@gmail.com>
|
||||
|
@ -203,13 +203,14 @@
|
|||
+ int retval;
|
||||
+
|
||||
+ ee_name = rt2x00lib_get_eeprom_file_name(rt2x00dev);
|
||||
+ if (!ee_name) {
|
||||
+ rt2x00_err(rt2x00dev,
|
||||
+ "Invalid EEPROM filename.\n"
|
||||
+ "Please file bug report to %s.\n", DRV_PROJECT);
|
||||
+ if (!ee_name && test_bit(REQUIRE_EEPROM_FILE, &rt2x00dev->cap_flags)) {
|
||||
+ rt2x00_err(rt2x00dev, "Required EEPROM name is missing.");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (!ee_name)
|
||||
+ return 0;
|
||||
+
|
||||
+ rt2x00_info(rt2x00dev, "Loading EEPROM data from '%s'.\n", ee_name);
|
||||
+
|
||||
+ retval = request_firmware(&ee, ee_name, rt2x00dev->dev);
|
||||
|
@ -245,16 +246,9 @@
|
|||
+{
|
||||
+ int retval;
|
||||
+
|
||||
+ if (!rt2x00lib_get_eeprom_file_name(rt2x00dev))
|
||||
+ return 0;
|
||||
+
|
||||
+ set_bit(REQUIRE_EEPROM_FILE, &rt2x00dev->cap_flags);
|
||||
+
|
||||
+ if (!rt2x00dev->eeprom_file) {
|
||||
+ retval = rt2x00lib_request_eeprom_file(rt2x00dev);
|
||||
+ if (retval)
|
||||
+ return retval;
|
||||
+ }
|
||||
+ retval = rt2x00lib_request_eeprom_file(rt2x00dev);
|
||||
+ if (retval)
|
||||
+ return retval;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
|
|
|
@ -97,5 +97,5 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
+ return 0;
|
||||
+
|
||||
ee_name = rt2x00lib_get_eeprom_file_name(rt2x00dev);
|
||||
if (!ee_name) {
|
||||
rt2x00_err(rt2x00dev,
|
||||
if (!ee_name && test_bit(REQUIRE_EEPROM_FILE, &rt2x00dev->cap_flags)) {
|
||||
rt2x00_err(rt2x00dev, "Required EEPROM name is missing.");
|
||||
|
|
Loading…
Reference in New Issue