Comment 0 for bug 1572536

Revision history for this message
Owen Savill (osavill) wrote : module fails to build under kernel 4.6 or 4.2

Attempting to build this package under kernel 4.6 or 4.2 results in numerous errors, mainly with __devinit and __devexit .

I replace __devexit with __exit and __devinit with __init. I also replaces calls to check_mem_region with calls to request_mem_region and page_cache_release with put_page. The module then builds but the kernel asserts at start up and fails to boot.

from the logs:
syslog.1:Apr 20 11:27:27 owen-AOA150 kernel: [ 7.144700] crystalhd: module verification failed: signature and/or required key missing - tainting kernel
syslog.1:Apr 20 11:27:27 owen-AOA150 kernel: [ 7.152755] Loading crystalhd v3.10.0
syslog.1:Apr 20 11:27:27 owen-AOA150 kernel: [ 7.152849] crystalhd 0000:03:00.0: Starting Device:0x1615
syslog.1:Apr 20 11:27:27 owen-AOA150 kernel: [ 7.155801] crystalhd 0000:03:00.0: BAR 0: can't reserve [mem 0x70800000-0x7080ffff 64bit]
syslog.1:Apr 20 11:27:27 owen-AOA150 kernel: [ 7.155827] crystalhd 0000:03:00.0: chd_dec_pci_probe: Failed to set up memory regions.
syslog.1:Apr 20 11:27:27 owen-AOA150 kernel: [ 7.161108] crystalhd: probe of 0000:03:00.0 failed with error -16
syslog.1:Apr 20 11:27:27 owen-AOA150 kernel: [ 10.689896] Modules linked in: rt73usb(+) rt2x00usb rt2x00lib snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel mac80211 snd_hda_codec snd_hda_core cfg80211 snd_hwdep snd_pcm sparse_keymap snd_seq_midi crc_itu_t snd_seq_midi_event snd_rawmidi uvcvideo videobuf2_vmalloc snd_seq videobuf2_memops acerhdf videobuf2_v4l2 snd_seq_device coretemp videobuf2_core snd_timer joydev videodev input_leds media snd serio_raw lpc_ich crystalhd(OE) soundcore shpchp mac_hid parport_pc ppdev lp parport autofs4 i915 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect psmouse sysimgblt fb_sys_fops r8169 drm pata_acpi mii fjes video wmi

kern.log:Apr 20 11:31:26 owen-AOA150 kernel: [ 90.967650] crystalhd: disagrees about version of symbol module_layout
kern.log:Apr 20 11:32:50 owen-AOA150 kernel: [ 175.127641] crystalhd: module verification failed: signature and/or required key missing - tainting kernel
kern.log:Apr 20 11:32:50 owen-AOA150 kernel: [ 175.129387] Loading crystalhd v3.10.0
kern.log:Apr 20 11:32:50 owen-AOA150 kernel: [ 175.129487] crystalhd 0000:03:00.0: Starting Device:0x1615
kern.log:Apr 20 11:32:50 owen-AOA150 kernel: [ 175.129796] crystalhd 0000:03:00.0: BAR 0: can't reserve [mem 0x70800000-0x7080ffff 64bit]
kern.log:Apr 20 11:32:50 owen-AOA150 kernel: [ 175.129816] crystalhd 0000:03:00.0: chd_dec_pci_probe: Failed to set up memory regions.
kern.log:Apr 20 11:32:50 owen-AOA150 kernel: [ 175.130007] crystalhd: probe of 0000:03:00.0 failed with error -16
kern.log:Apr 20 12:35:42 owen-AOA150 kernel: [ 3282.646749] crystalhd: module verification failed: signature and/or required key missing - tainting kernel

So it appears that my use of request_mem_region is probably wrong.

It would be really great to get this module going again as many netbooks, including mine, have this card.