Various long-overdue bug fixes and improvements in preparation for 3.18-gnu.
authorlxoliva <lxoliva@559672b5-ba27-0410-b829-e8f1faed8b1b>
Sun, 7 Dec 2014 23:27:04 +0000 (23:27 +0000)
committerlxoliva <lxoliva@559672b5-ba27-0410-b829-e8f1faed8b1b>
Sun, 7 Dec 2014 23:27:04 +0000 (23:27 +0000)
git-svn-id: http://www.fsfla.org/svn/fsfla/software/linux-libre/scripts@11735 559672b5-ba27-0410-b829-e8f1faed8b1b

deblob-3.18
deblob-check

index b297a4fabbae77d72d1de436285f4f22f159ffef..c2516ba68d6efc176eb382c7afc79e3b54f578b6 100755 (executable)
@@ -370,9 +370,15 @@ clean_sed '$i\
 #define NONFREE_FIRMWARE "/*(DEBLOBBED)*/"\
 \
 static inline int\
+is_nonfree_firmware(const char *name)\
+{\
+  return strstr(name, NONFREE_FIRMWARE) != 0;\
+}\
+\
+static inline int\
 report_missing_free_firmware(const char *name, const char *what)\
 {\
-       printk(KERN_ERR "%s: Missing Free %s\\n", name,\
+       printk(KERN_ERR "%s: Missing Free %s (non-Free firmware loading is disabled)\\n", name,\
               what ? what : "firmware");\
        return -EINVAL;\
 }\
@@ -392,7 +398,7 @@ static inline int\
 maybe_reject_firmware(const struct firmware **fw,\
                      const char *name, struct device *device)\
 {\
-       if (strstr (name, NONFREE_FIRMWARE))\
+       if (is_nonfree_firmware(name))\
                return reject_firmware(fw, name, device);\
        else\
                return request_firmware(fw, name, device);\
@@ -437,7 +443,7 @@ maybe_reject_firmware_nowait(struct module *module, int uevent,\
                             void (*cont)(const struct firmware *fw,\
                                          void *context))\
 {\
-       if (strstr (name, NONFREE_FIRMWARE))\
+       if (is_nonfree_firmware(name))\
                return reject_firmware_nowait(module, uevent, name,\
                                              device, gfp, context, cont);\
        else\
@@ -466,6 +472,11 @@ maybe_reject_ihex_firmware(const struct firmware **fw,\
 #endif /* _LINUX_LIBRE_IHEX_H */\
 ' include/linux/ihex.h 'added non-Free ihex firmware notification support'
 
+clean_sed '
+s,\(timeout = \)\(firmware_loading_timeout()\),\1is_nonfree_firmware(name) ? 1 : \2,
+' drivers/base/firmware_class.c 'shorten non-Free firmware fail-to-load timeout'
+
+
 ########
 # Arch #
 ########
@@ -1514,6 +1525,9 @@ clean_mk CONFIG_YAM drivers/net/hamradio/Makefile
 announce USB_IRDA - "IrDA USB dongles"
 reject_firmware drivers/net/irda/irda-usb.c
 clean_blob drivers/net/irda/irda-usb.c
+clean_sed '
+s,\(char stir421x_fw_name\)\[12\];,\1[16];,
+' drivers/net/irda/irda-usb.c "avoid buffer overflow with deblobbed filename"
 clean_kconfig drivers/net/irda/Kconfig 'USB_IRDA'
 clean_mk CONFIG_USB_IRDA drivers/net/irda/Makefile
 
@@ -2270,7 +2284,7 @@ clean_mk CONFIG_INPUT_IMS_PCU drivers/input/misc/Makefile
 ####################
 
 announce COMEDI - "Data acquisition support (comedi)"
-reject_firmware drivers/staging/comedi/drivers.c
+maybe_reject_firmware drivers/staging/comedi/drivers.c
 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI'
 clean_mk CONFIG_COMEDI drivers/staging/comedi/Makefile
 
@@ -2294,21 +2308,6 @@ clean_blob drivers/staging/comedi/drivers/ni_pcidio.c
 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_NI_PCIDIO'
 clean_mk CONFIG_COMEDI_NI_PCIDIO drivers/staging/comedi/drivers/Makefile
 
-announce COMEDI_USBDUX - "ITL USBDUX support"
-clean_blob drivers/staging/comedi/drivers/usbdux.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUX'
-clean_mk CONFIG_COMEDI_USBDUX drivers/staging/comedi/drivers/Makefile
-
-announce COMEDI_USBDUXFAST - "ITL USB-DUXfast support"
-clean_blob drivers/staging/comedi/drivers/usbduxfast.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUXFAST'
-clean_mk CONFIG_COMEDI_USBDUXFAST drivers/staging/comedi/drivers/Makefile
-
-announce COMEDI_USBDUXSIGMA - "ITL USB-DUXsigma support"
-clean_blob drivers/staging/comedi/drivers/usbduxsigma.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUXSIGMA'
-clean_mk CONFIG_COMEDI_USBDUXSIGMA drivers/staging/comedi/drivers/Makefile
-
 
 #######
 # MMC #
index c1e1883256b96b09941e4f7d53c8747cdfe93fe2..bbe223e1284878e2d344424829fcf1a61377a7bd 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# deblob-check version 2014-11-25
+# deblob-check version 2014-12-07
 # Inspired in gNewSense's find-firmware script.
 # Written by Alexandre Oliva <lxoliva@fsfla.org>
 
@@ -2243,7 +2243,10 @@ set_except () {
     blobname '3826\.arm' 'drivers/\(net/wireless/p54/p54spi\|staging/stlc45xx/stlc45xx\)\.c'
     defsnc 'static[ ]unsigned[ ]char[ ]p54spi_eeprom\[\][ ]=' drivers/net/wireless/p54/p54spi_eeprom.h
     blobname '\(comedi[/]\)\?jr3pci\.idm\(["]\.[\n][ ][*][/]\)\?' drivers/staging/comedi/drivers/jr3_pci.c
-    blobname 'usbdux\(fast\)\?_firmware\.\(hex\|bin\)' 'drivers/staging/comedi/drivers/usbdux\(fast\)\?\.c'
+    accept '#define[ ]USBDUX_FIRMWARE[ \t]*["]usbdux_firmware\.bin["]' drivers/staging/comedi/drivers/usbdux.c
+    accept 'MODULE_FIRMWARE[(]USBDUX_FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbdux.c
+    accept '#define[ ]FIRMWARE[ \t]*["]usbduxfast_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxfast.c
+    accept 'MODULE_DESCRIPTION[(]["]USB-DUXfast[^"]*["][)][;][\n]MODULE_LICENSE[(]["]GPL["][)][;][\n]MODULE_FIRMWARE[(]FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbduxfast.c
     blobname 'RT30xxEEPROM\.bin' drivers/staging/rt3070/common/eeprom.c
     defsnc 'static[ ]const[ ]u8[ ]default_cal_\(channels\|rssi\)\[\][ ]=' drivers/staging/stlc45xx/stlc45xx.c
     accept '[  ][      ]stlc45xx_error[(]["]request_firmware[(][)][ ]failed' drivers/staging/stlc45xx/stlc45xx.c
@@ -2953,7 +2956,8 @@ set_except () {
     blobname '%s[/]bdata\.%s\.bin' drivers/net/wireless/ath/ath6kl/init.c
     blobna 'Used[ ][(]for[ ]now[)][^*]*\([*]\+[^/*][^*]*\)*[*]*["]bdata\.bin["][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/wireless/ath/ath6kl/init.c
     blobname 'mrvl[/]pcie8766_uapsta\.bin' 'drivers/net/wireless/mwifiex/pcie\.[ch]'
-    blobname 'usbduxsigma_firmware\.bin' drivers/staging/comedi/drivers/usbduxsigma.c
+    accept '#define[ ]FIRMWARE[ \t]*["]usbduxsigma_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxsigma.c
+    accept 'MODULE_DESCRIPTION[(]["]Stirling[/]ITL[ ]USB-DUX[ ]SIGMA[^"]*["][)][;][\n]MODULE_LICENSE[(]["]GPL["][)][;][\n]MODULE_FIRMWARE[(]FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbduxsigma.c
     blobname 'as102_data[12]_[sd]t\.hex' drivers/staging/media/as102/as102_fw.c
     blob 'u8[ ]Rtl8192PciEFw\(Boot\|Main\|Data\)Array\[\(Boot\|Main\|Data\)ArrayLengthPciE\][ ]=[ ][{][^}]*[}][;]' drivers/staging/rtl8192e/r8192E_hwimg.c
     blobna '\([&]\|sizeof[(]\)Rtl8192PciEFw\(Boot\|Main\|Data\)Array\(\[0\]\|[)]\)\(,[         \n]*\([&]\|sizeof[(]\)Rtl8192PciEFw\(Boot\|Main\|Data\)Array\(\[0\]\|[)]\)\)*' drivers/staging/rtl8192e/r8192E_firmware.c