birgersp
birgersp

Reputation: 4916

Building drivers yields `error: void value not ignored as it ought to be`

I've found that the error message error: void value not ignored as it ought to be is thrown when void is returned. Fair enough.

I get this error when trying to build drivers for my WIFI dongle. This is the error output:

birger@raspberrypi:~/AL100ac $ sudo make ARCH=arm
make ARCH=arm CROSS_COMPILE= -C /lib/modules/4.4.26+/build M=/home/birger/AL100ac  modules
make[1]: Entering directory '/usr/src/linux-headers-4.4.26+'
  CC [M]  /home/birger/AL100ac/core/rtw_debug.o
/home/birger/AL100ac/core/rtw_debug.c: In function ‘dump_drv_version’:
/home/birger/AL100ac/core/rtw_debug.c:65:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:66:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘dump_log_level’:
/home/birger/AL100ac/core/rtw_debug.c:71:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘mac_reg_dump’:
/home/birger/AL100ac/core/rtw_debug.c:98:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:103:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:104:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:106:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘bb_reg_dump’:
/home/birger/AL100ac/core/rtw_debug.c:114:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:118:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:119:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:121:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘rf_reg_dump’:
/home/birger/AL100ac/core/rtw_debug.c:138:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:141:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:146:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:147:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:149:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_read_reg’:
/home/birger/AL100ac/core/rtw_debug.c:208:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:215:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:218:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:221:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:224:4: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_fwstate’:
/home/birger/AL100ac/core/rtw_debug.c:267:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_sec_info’:
/home/birger/AL100ac/core/rtw_debug.c:278:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:282:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:285:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:287:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:290:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:292:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:295:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:297:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_mlmext_state’:
/home/birger/AL100ac/core/rtw_debug.c:311:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_roam_flags’:
/home/birger/AL100ac/core/rtw_debug.c:322:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_roam_param’:
/home/birger/AL100ac/core/rtw_debug.c:356:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:357:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_qos_option’:
/home/birger/AL100ac/core/rtw_debug.c:426:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_ht_option’:
/home/birger/AL100ac/core/rtw_debug.c:438:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_rf_info’:
/home/birger/AL100ac/core/rtw_debug.c:450:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:453:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_survey_info’:
/home/birger/AL100ac/core/rtw_debug.c:478:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:499:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_ap_info’:
/home/birger/AL100ac/core/rtw_debug.c:532:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:533:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:534:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:535:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:536:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:538:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:539:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:540:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:541:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:542:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:545:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:546:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:547:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:555:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:562:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_adapter_state’:
/home/birger/AL100ac/core/rtw_debug.c:578:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_trx_info’:
/home/birger/AL100ac/core/rtw_debug.c:594:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:596:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:598:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:604:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:608:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_rate_ctl’:
/home/birger/AL100ac/core/rtw_debug.c:621:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:622:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:624:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_suspend_resume_info’:
/home/birger/AL100ac/core/rtw_debug.c:695:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:696:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:697:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:698:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:699:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:700:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:701:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:702:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:703:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:704:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:705:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:706:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:707:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:708:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:709:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:710:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:711:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:712:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:713:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:714:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:715:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:716:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:717:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:718:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:719:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:720:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:721:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:722:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_rx_signal’:
/home/birger/AL100ac/core/rtw_debug.c:996:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:998:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:999:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1000:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_hw_status’:
/home/birger/AL100ac/core/rtw_debug.c:1016:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_ht_enable’:
/home/birger/AL100ac/core/rtw_debug.c:1065:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_bw_mode’:
/home/birger/AL100ac/core/rtw_debug.c:1103:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_ampdu_enable’:
/home/birger/AL100ac/core/rtw_debug.c:1143:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_rx_ampdu’:
/home/birger/AL100ac/core/rtw_debug.c:1184:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_en_fwps’:
/home/birger/AL100ac/core/rtw_debug.c:1235:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_rx_stbc’:
/home/birger/AL100ac/core/rtw_debug.c:1290:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_all_sta_info’:
/home/birger/AL100ac/core/rtw_debug.c:1381:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1398:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1399:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1400:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1401:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1403:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1404:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1405:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1406:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1408:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1409:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1410:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1411:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1412:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1414:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1415:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1416:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1417:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1418:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1419:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1420:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1427:7: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1439:5: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c: In function ‘proc_get_best_channel’:
/home/birger/AL100ac/core/rtw_debug.c:1512:3: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1517:2: error: void value not ignored as it ought to be
/home/birger/AL100ac/core/rtw_debug.c:1518:2: error: void value not ignored as it ought to be
scripts/Makefile.build:258: recipe for target '/home/birger/AL100ac/core/rtw_debug.o' failed
make[2]: *** [/home/birger/AL100ac/core/rtw_debug.o] Error 1
Makefile:1400: recipe for target '_module_/home/birger/AL100ac' failed
make[1]: *** [_module_/home/birger/AL100ac] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.4.26+'
Makefile:1385: recipe for target 'modules' failed
make: *** [modules] Error 2

Specifically, the error is thrown when the function named DBG_871X_SEL_NL is invoked.

So I guess the macro is what is causing this problem. I tried searching the driver source code for it, and it is defined like this:

/* dump message to selected 'stream' with driver-defined prefix */
#define DBG_871X_SEL_NL(sel, fmt, arg...) \
    do {\
        if (sel == RTW_DBGDUMP)\
            DBG_871X_LEVEL(_drv_always_, fmt, ##arg); \
        else {\
            if(_seqdump(sel, fmt, ##arg)) /*rtw_warn_on(1)*/; \
        } \
    }while(0)

I can't wrap my head around what is causing this error and how to fix it?

I've searched around a little, found this: https://github.com/hadess/rtl8723bs/issues/30

Could it be a similiar bug affecting me?

EDIT:

I should have mentioned that this same code worked before I updated the kernel. So I am assuming some function in the kernel headers that previously returned a value, now is a void function.

Upvotes: 3

Views: 2351

Answers (1)

birgersp
birgersp

Reputation: 4916

Found that the _seqdump function no longer returns a value since the kernel is updated.

Thus, I fixed the error by replacing if(_seqdump(sel, fmt, ##arg)) with _seqdump(sel, fmt, ##arg)

Here are the two macros affected:

/* dump message to selected 'stream' */
#define DBG_871X_SEL(sel, fmt, arg...) \
    do {\
        if (sel == RTW_DBGDUMP)\
            _DBG_871X_LEVEL(_drv_always_, fmt, ##arg); \
        else {\
            _seqdump(sel, fmt, ##arg) /*rtw_warn_on(1)*/; \
        } \
    }while(0)

And

/* dump message to selected 'stream' with driver-defined prefix */
#define DBG_871X_SEL_NL(sel, fmt, arg...) \
    do {\
        if (sel == RTW_DBGDUMP)\
            DBG_871X_LEVEL(_drv_always_, fmt, ##arg); \
        else {\
            _seqdump(sel, fmt, ##arg) /*rtw_warn_on(1)*/; \
        } \
    }while(0)

Upvotes: 6

Related Questions