Commit Graph

769150 Commits

Author SHA1 Message Date
Leonardo Brás 1315e8bad8 staging: fbtft: Erases some repetitive usage of function name - Style
Changes this functions to avoid using "blank" on debug twice. Improves log readability.

Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Leonardo Brás c21cbb5ee3 staging: fbtft: Adjust some empty-line problems - Style
Erases some blank lines.

Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Leonardo Brás 5bfac06f3e staging: fbtft: Removes one nesting level to help readability - Style
This nesting level was removed to improve readability.

Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Leonardo Brás d9932c8be0 staging: fbtft: Changes gamma table to define.
Most of other "Gamma Tables" were already boxed on a define, just did the same to PIOLED.

Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Leonardo Brás e66f30ee13 staging: fbtft: A bit more information on dev_err.
Adds a bit more information on debug.
The line break was to avoid obfuscating the parameters on the end of a large line.

Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Leonardo Brás 333c7b9405 staging: fbtft: Fixes some alignment issues - Style
Fixes (most) alignment issues pointed by checkpatch.pl.

Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Leonardo Brás 0b1533c6c6 staging: fbtft: Puts macro arguments in parenthesis to avoid precedence issues - Style
Puts macro arguments in parenthesis to avoid precedence issues.
Some large lines were broken to fit the 80-char limit.

Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Colin Ian King 243638bc1c staging: rtl8188eu: remove unused array dB_Invert_Table
Array dB_Invert_Table is declared but not used, hence it is redundant
and can be removed.

Cleans up clang warning:
warning: ‘dB_Invert_Table’ defined but not used [-Wunused-const-variable=]

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Michael Straube 705030a151 staging: rtl8188eu: remove whitespace, add missing blank line
Replace tabs with spaces and/or remove spaces where appropriate.
Add a missing blank line after declarations.

Also clears checkpatch warnings.
WARNING: Statements should start on a tabstop
WARNING: suspect code indent for conditional statements (8, 17)

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Michael Straube 5c3bd8481c staging: rtl8188eu: use is_multicast_ether_addr in rtw_sta_mgt.c
Use is_multicast_ether_addr instead of custom IS_MCAST in
core/rtw_sta_mgt.c.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Michael Straube e18676cc6e staging: rtl8188eu: remove whitespace - style
Replace tabs with spaces and/or remove spaces where appropriate.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Michael Straube 353c6774bd staging: rtl8188eu: cleanup block comment - style
Cleanup a block comment to conform with kernel coding style.
Also cleans 'line over 80 characters' checkpatch warnings.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:16 +02:00
Michael Straube d39e86cbd8 staging: rtl8188eu: use is_multicast_ether_addr in rtl8188eu_xmit.c
Use is_multicast_ether_addr instead of custom IS_MCAST in
hal/rtl8188eu_xmit.c.

There is only one use, so remove the extra variable for the
result of IS_MCAST.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:15 +02:00
Michael Straube 247e415fbc staging: rtl8188eu: use is_multicast_ether_addr in recv_linux.c
Use is_multicast_ether_addr instead of custom IS_MCAST in
os_dep/recv_linux.c.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:23:15 +02:00
Luke Triantafyllidis f7992a043f staging: rtlwifi: refactor rtl_get_tcb_desc
Refactored rtl_get_tcb_desc slightly to stay within the 80 character
line limit.

Signed-off-by: Luke Triantafyllidis <ltriant@cpan.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:11:19 +02:00
Ian Abbott e083926b3e staging: comedi: ni_mio_common: fix subdevice flags for PFI subdevice
The PFI subdevice flags indicate that the subdevice is readable and
writeable, but that is only true for the supported "M-series" boards,
not the older "E-series" boards.  Only set the SDF_READABLE and
SDF_WRITABLE subdevice flags for the M-series boards.  These two flags
are mainly for informational purposes.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:11:19 +02:00
Sergio Paracuellos 532f14d973 staging: mt7621-dts: add pcie controller port registers
The pcie node of the device tree only contains registers
for the host-bridge and pcie port 0. Add the pcie port 1
and pcie port 2 also.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos 4cafd03a91 staging: mt7621-pci: remove remaining pci_legacy dependant code
pcibios_* remaining code is not neccessary at all. We can use
map_irq set to of_irq_parse_and_map_pci driver 'probe' function.
Remove this code.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos 8594351af0 staging: mt7621-pci: rename RALINK_PCI_CONFIG_DATA_VIRTUAL_REG definition
RALINK_PCI_CONFIG_DATA_VIRTUAL_REG is a very long name. Make it a bit
shorter renaming it to RALINK_PCI_CONFIG_DATA.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos 88e8fa0c26 staging: mt7621-pci: use BIT macro in preprocessor definitions
Some preprocessor definitions are using a custom implementation of
BIT macro. Just use linux kernel BIT macro instead.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos c00f0352be staging: mt7621-pci: remove RALINK_PCI_BASE from remaining definitions
RALINK_PCI_BASE has no sense and this driver has base address readed
and mapped from device tree. Remove remaining uses of it and
change code to use pcie_read and pcie_write functions in places
where this was being used.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos 152f3893f4 staging: mt7621-pci: use pcie_[read|write] in RALINK_PCI_PCICFG_ADDR and RALINK_PCI_PCIMSK_ADDR
RALINK_PCI_PCICFG_ADDR and RALINK_PCI_PCIMSK_ADDR are defined to be directly
referenced for read and write. Use pcie_read and pcie_write instead changing
its definition to a simple relative offset to pcie base address.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos cd7d07db8b staging: mt7621-pci: review includes putting them in alphabethic order
There are some includes that are being used that are not really
needed to correct driver compilation. Remove them and reorder the
rest alphabetically.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos e38bb17540 staging: mt7621-pci: avoid register duplication per controller using pcie_[read|write]
Use pcie_[read|write] fucntions to read and write controller registers.
Define those only by offset and pass controller offset + register offset
relative to base address to functions.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos edec14020e staging: mt7621-pci: remove unused macros
There some macros that are not being used. Remove them.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos f8427fae57 staging: mt7621-pci: simplify write_config function
write_config function is always called with bus and func
being 0. Avoid those params and just use 0 inside the
function. Review parameter types changing for more proper
ones.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos c0431f4f4a staging: mt7621-pci: simplify read_config function
read_config function is always called with bus and func
being 0. Avoid those params and just use 0 inside the
function. Return readed value instead pass a reference
parameter.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos 9f999b4150 staging: mt7621-pci: use pcie_[read|write] in [write|read]_config
Instead of custom macros use pcie_read and pcie_write functions.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos 52ed727ca0 staging: mt7621-pci: add pcie_write and pcie_read helpers
Introdice this functions to make easier to write/read to/from
an offset relative to base address

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos e9d03d17dd staging: mt7621-pci: remove dead code derived to not use custom reads and writes
Driver is using now pci subsystem generics reads and writes and requesting
bus resources without using legacy code functions. Because of this there is
a lot of dead code that can be removed.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:41 +02:00
Sergio Paracuellos 8571c62d45 staging: mt7621-pci: use generic kernel pci subsystem read and write
map_bus callback is called before every .read/.write operation.
Implement it and change custom read write operations for the
pci subsystem generics. Make the probe function to don't use
legacy stuff and request bus resources directly. Get pci register
base and ranges from device tree.
The driver is not using PCI_LEGACY code anymore and shall use the
PCI_DRIVERS_GENERIC option to correct compile it. Add also new
Kconfig file for this controller setting there its correct dependencies.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Tested-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 14:08:40 +02:00
Michael Straube c5fe50aaa2 Revert "staging:r8188eu: Use lib80211 to encrypt (CCMP) tx frames"
On a Raven Ridge system with a r8188eu usb wifi device
commit 515ce733e8 ("staging:r8188eu: Use lib80211 to encrypt (CCMP) tx frames")
is causing two bugs and a warning in dmesg:

[   22.618465] BUG: scheduling while atomic: NetworkManager/489/0x00000202
[   22.618466] Modules linked in: amdkfd amd_iommu_v2 amdgpu nls_iso8859_1 nls_cp437 vfat fat r8188eu(C) edac_mce_amd
chash kvm_amd gpu_sched i2c_algo_bit ccp ttm rng_core lib80211 kvm snd_hda_codec_realtek snd_hda_codec_generic cfg80211
snd_hda_codec_hdmi snd_hda_intel input_leds drm_kms_helper irqbypass snd_hda_codec crct10dif_pclmul crc32_pclmul
ghash_clmulni_intel pcbc rfkill led_class mousedev joydev wmi_bmof snd_hda_core drm aesni_intel snd_hwdep aes_x86_64
crypto_simd cryptd glue_helper snd_pcm pcspkr sp5100_tco snd_timer r8169 k10temp agpgart i2c_piix4 snd mii syscopyarea
sysfillrect sysimgblt fb_sys_fops soundcore rtc_cmos evdev gpio_amdpt pinctrl_amd mac_hid wmi pcc_cpufreq acpi_cpufreq
crypto_user ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 fscrypto hid_generic usbhid hid sd_mod
[   22.618549]  ahci xhci_pci libahci xhci_hcd crc32c_intel libata usbcore scsi_mod usb_common
[   22.618554] Preemption disabled at:
[   22.618558] [<ffffffff94600954>] __dev_queue_xmit+0x74/0x910
[   22.618561] CPU: 3 PID: 489 Comm: NetworkManager Tainted: G         C        4.18.0-rc7-staging+ #14
[   22.618562] Hardware name: Gigabyte Technology Co., Ltd. A320M-S2H/A320M-S2H-CF, BIOS F23d 04/17/2018
[   22.618563] Call Trace:
[   22.618569]  dump_stack+0x5c/0x80
[   22.618571]  ? __dev_queue_xmit+0x74/0x910
[   22.618574]  __schedule_bug.cold.14+0x82/0x9b
[   22.618576]  __schedule+0x6fd/0x8b0
[   22.618578]  ? enqueue_task_fair+0xc3/0x730
[   22.618580]  schedule+0x32/0x90
[   22.618581]  schedule_timeout+0x311/0x4a0
[   22.618583]  ? _raw_spin_unlock_irqrestore+0x20/0x40
[   22.618585]  ? try_to_wake_up+0x231/0x480
[   22.618586]  wait_for_common+0x15f/0x190
[   22.618588]  ? wake_up_q+0x70/0x70
[   22.618597]  ? rtw_aes_encrypt+0x26f/0x290 [r8188eu]
[   22.618598]  wait_for_completion_killable+0x19/0x30
[   22.618601]  call_usermodehelper_exec+0x115/0x160
[   22.618603]  __request_module+0x1ac/0x3e2
[   22.618606]  ? netlink_broadcast_filtered+0x142/0x400
[   22.618607]  ? netlink_broadcast+0xf/0x20
[   22.618615]  rtw_aes_encrypt+0x26f/0x290 [r8188eu]
[   22.618622]  ? rtw_get_stainfo+0xe6/0x130 [r8188eu]
[   22.618629]  rtw_xmitframe_coalesce+0x950/0xb00 [r8188eu]
[   22.618631]  ? _raw_spin_lock_irqsave+0x25/0x50
[   22.618638]  rtw_hal_xmit+0x83/0x130 [r8188eu]
[   22.618645]  rtw_xmit+0x258/0x5d0 [r8188eu]
[   22.618652]  rtw_xmit_entry+0xe8/0x2e7 [r8188eu]
[   22.618654]  dev_hard_start_xmit+0xa5/0x240
[   22.618657]  sch_direct_xmit+0x150/0x340
[   22.618658]  __dev_queue_xmit+0x2f6/0x910
[   22.618661]  packet_sendmsg+0x948/0x15a7
[   22.618663]  ? attach_to_pi_owner+0x38/0x180
[   22.618666]  sock_sendmsg+0x33/0x40
[   22.618668]  __sys_sendto+0xee/0x160
[   22.618670]  ? memzero_explicit+0xa/0x10
[   22.618672]  ? urandom_read+0x120/0x270
[   22.618675]  __x64_sys_sendto+0x24/0x30
[   22.618677]  do_syscall_64+0x5b/0x170
[   22.618678]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   22.618680] RIP: 0033:0x7f0942790c12
[   22.618680] Code: 48 83 ec 18 44 89 4c 24 08 e8 9a f5 ff ff 44 8b 4c 24 08 4d 89 f8 45 89 f2 89 c5 4c 89 ea 4c 89 e6
89 df b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 3a 89 ef 48 89 44 24 08 e8 ca f5 ff ff 48 8b
[   22.618700] RSP: 002b:00007ffe2051be30 EFLAGS: 00000293 ORIG_RAX: 000000000000002c
[   22.618701] RAX: ffffffffffffffda RBX: 0000000000000011 RCX: 00007f0942790c12
[   22.618702] RDX: 0000000000000148 RSI: 0000559278761700 RDI: 0000000000000011
[   22.618703] RBP: 0000000000000000 R08: 00005592787aa860 R09: 0000000000000014
[   22.618703] R10: 0000000000000000 R11: 0000000000000293 R12: 0000559278761700
[   22.618704] R13: 0000000000000148 R14: 0000000000000000 R15: 00005592787aa860
[   22.620488] lib80211_crypt: registered algorithm 'CCMP'
[   22.620735] ------------[ cut here ]------------
[   22.620738] DEBUG_LOCKS_WARN_ON(val > preempt_count())
[   22.620744] WARNING: CPU: 3 PID: 489 at kernel/sched/core.c:3246 preempt_count_sub+0x5a/0x90
[   22.620749] Modules linked in: lib80211_crypt_ccmp amdkfd amd_iommu_v2 amdgpu nls_iso8859_1 nls_cp437 vfat fat
r8188eu(C) edac_mce_amd chash kvm_amd gpu_sched i2c_algo_bit ccp ttm rng_core lib80211 kvm snd_hda_codec_realtek
snd_hda_codec_generic cfg80211 snd_hda_codec_hdmi snd_hda_intel input_leds drm_kms_helper irqbypass snd_hda_codec
crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc rfkill led_class mousedev joydev wmi_bmof snd_hda_core drm
aesni_intel snd_hwdep aes_x86_64 crypto_simd cryptd glue_helper snd_pcm pcspkr sp5100_tco snd_timer r8169 k10temp
agpgart i2c_piix4 snd mii syscopyarea sysfillrect sysimgblt fb_sys_fops soundcore rtc_cmos evdev gpio_amdpt pinctrl_amd
mac_hid wmi pcc_cpufreq acpi_cpufreq crypto_user ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 fscrypto
hid_generic
[   22.620792]  usbhid hid sd_mod ahci xhci_pci libahci xhci_hcd crc32c_intel libata usbcore scsi_mod usb_common
[   22.620803] CPU: 3 PID: 489 Comm: NetworkManager Tainted: G        WC        4.18.0-rc7-staging+ #14
[   22.620804] Hardware name: Gigabyte Technology Co., Ltd. A320M-S2H/A320M-S2H-CF, BIOS F23d 04/17/2018
[   22.620808] RIP: 0010:preempt_count_sub+0x5a/0x90
[   22.620809] Code: 14 f7 6b c3 e8 57 89 2d 00 85 c0 74 f6 8b 15 55 6a 5a 01 85 d2 75 ec 48 c7 c6 2e 01 e7 94 48 c7 c7
db b2 e5 94 e8 90 77 fd ff <0f> 0b c3 84 d2 75 c9 e8 2a 89 2d 00 85 c0 74 c9 8b 05 28 6a 5a 01
[   22.620842] RSP: 0018:ffffa1904133bc48 EFLAGS: 00010286
[   22.620844] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000001
[   22.620846] RDX: 0000000080000001 RSI: ffffffff94e82606 RDI: 00000000ffffffff
[   22.620847] RBP: ffff8eb4449eac00 R08: 0000001af4246984 R09: 00000000000003f1
[   22.620849] R10: ffffffff955f7700 R11: 0000000000000000 R12: ffff8eb4449eacac
[   22.620850] R13: ffff8eb4565da800 R14: ffff8eb453ca2000 R15: 0000000000000003
[   22.620852] FS:  00007f0944d69000(0000) GS:ffff8eb45ecc0000(0000) knlGS:0000000000000000
[   22.620853] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   22.620854] CR2: 00007ffe20518fa8 CR3: 0000000207844000 CR4: 00000000003406e0
[   22.620855] Call Trace:
[   22.620859]  _raw_spin_unlock+0x16/0x30
[   22.620862]  sch_direct_xmit+0x178/0x340
[   22.620866]  __dev_queue_xmit+0x2f6/0x910
[   22.620870]  packet_sendmsg+0x948/0x15a7
[   22.620873]  ? attach_to_pi_owner+0x38/0x180
[   22.620877]  sock_sendmsg+0x33/0x40
[   22.620880]  __sys_sendto+0xee/0x160
[   22.620885]  ? memzero_explicit+0xa/0x10
[   22.620887]  ? urandom_read+0x120/0x270
[   22.620891]  __x64_sys_sendto+0x24/0x30
[   22.620893]  do_syscall_64+0x5b/0x170
[   22.620896]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   22.620898] RIP: 0033:0x7f0942790c12
[   22.620899] Code: 48 83 ec 18 44 89 4c 24 08 e8 9a f5 ff ff 44 8b 4c 24 08 4d 89 f8 45 89 f2 89 c5 4c 89 ea 4c 89 e6
89 df b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 3a 89 ef 48 89 44 24 08 e8 ca f5 ff ff 48 8b
[   22.620925] RSP: 002b:00007ffe2051be30 EFLAGS: 00000293 ORIG_RAX: 000000000000002c
[   22.620928] RAX: ffffffffffffffda RBX: 0000000000000011 RCX: 00007f0942790c12
[   22.620929] RDX: 0000000000000148 RSI: 0000559278761700 RDI: 0000000000000011
[   22.620930] RBP: 0000000000000000 R08: 00005592787aa860 R09: 0000000000000014
[   22.620931] R10: 0000000000000000 R11: 0000000000000293 R12: 0000559278761700
[   22.620933] R13: 0000000000000148 R14: 0000000000000000 R15: 00005592787aa860
[   22.620936] ---[ end trace ecf9299fa6cc3176 ]---
[   22.620940] BUG: using __this_cpu_read() in preemptible [00000000] code: NetworkManager/489
[   22.620942] caller is __local_bh_enable_ip+0x50/0x80
[   22.620945] CPU: 3 PID: 489 Comm: NetworkManager Tainted: G        WC        4.18.0-rc7-staging+ #14
[   22.620946] Hardware name: Gigabyte Technology Co., Ltd. A320M-S2H/A320M-S2H-CF, BIOS F23d 04/17/2018
[   22.620947] Call Trace:
[   22.620950]  dump_stack+0x5c/0x80
[   22.620955]  check_preemption_disabled.cold.0+0x46/0x51
[   22.620958]  __local_bh_enable_ip+0x50/0x80
[   22.620961]  __dev_queue_xmit+0x450/0x910
[   22.620964]  packet_sendmsg+0x948/0x15a7
[   22.620967]  ? attach_to_pi_owner+0x38/0x180
[   22.620971]  sock_sendmsg+0x33/0x40
[   22.620973]  __sys_sendto+0xee/0x160
[   22.620976]  ? memzero_explicit+0xa/0x10
[   22.620978]  ? urandom_read+0x120/0x270
[   22.620982]  __x64_sys_sendto+0x24/0x30
[   22.620984]  do_syscall_64+0x5b/0x170
[   22.620986]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   22.620990] RIP: 0033:0x7f0942790c12
[   22.620991] Code: 48 83 ec 18 44 89 4c 24 08 e8 9a f5 ff ff 44 8b 4c 24 08 4d 89 f8 45 89 f2 89 c5 4c 89 ea 4c 89 e6
89 df b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 3a 89 ef 48 89 44 24 08 e8 ca f5 ff ff 48 8b
[   22.621017] RSP: 002b:00007ffe2051be30 EFLAGS: 00000293 ORIG_RAX: 000000000000002c
[   22.621020] RAX: ffffffffffffffda RBX: 0000000000000011 RCX: 00007f0942790c12
[   22.621021] RDX: 0000000000000148 RSI: 0000559278761700 RDI: 0000000000000011
[   22.621024] RBP: 0000000000000000 R08: 00005592787aa860 R09: 0000000000000014
[   22.621025] R10: 0000000000000000 R11: 0000000000000293 R12: 0000559278761700
[   22.621026] R13: 0000000000000148 R14: 0000000000000000 R15: 00005592787aa860

Revert the commit fixes the issues and dmesg looks good again.

Fixes: 515ce733e8 ("staging:r8188eu: Use lib80211 to encrypt (CCMP) tx frames")
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:22:10 +02:00
Gao Xiang 3978c8e323 staging: erofs: remove an extra semicolon in z_erofs_vle_unzip_all
There is an extra semicolon in z_erofs_vle_unzip_all, remove it.

Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:21:14 +02:00
zhong jiang ec6e6925fc staging: gasket: remove some extra semicolon
That semicolons are unneeded, Just remove them.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:45 +02:00
Sumit Pundir 8d84a9c1d2 staging: gasket: fix code indent for conditional statement
Fixed a coding style issue related to indentation. Reported by
checkpatch.pl

Signed-off-by: Sumit Pundir <pundirsumit11@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:45 +02:00
Todd Poynor d37d2dd41f staging: gasket: core: remove incorrect extraneous comment
A copy-and-pasted comment from another code sequence is removed from
gasket core init sequence.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:08 +02:00
Todd Poynor 4801fc6f7f staging: gasket: apex: place in low power reset until opened
The apex device is left out of reset mode at the end of device
probe/initialize processing.  Add a call to enter reset at the end of
the sequence, triggering power gating and other low power features.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:08 +02:00
Todd Poynor 95a2c279b2 staging: gasket: core: protect against races during unregister
Keep mutex held across the unregistration operation, until the
driver_desc field of the global table is removed, to prevent a
concurrent accessor from looking up the driver_desc while
gasket_unregister_device() is in the processing of removing it.

Reported-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:07 +02:00
Todd Poynor 71934948b0 staging: gasket: apex: move sysfs setup code to probe function
The gasket framework no longer provides callbacks to the device driver
for sysfs setup and teardown.  Move the sysfs setup code to the device
probe function.  Apex does not implement sysfs cleanup code.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:07 +02:00
Todd Poynor 565eeedaa0 staging: gasket: core: remove sysfs setup and cleanup callbacks
Gasket device drivers now call into the gasket framework to initialize
and de-initialize, rather than the other way around.  The calling code
can perform sysfs setup and cleanup actions without callbacks from the
framework.  Remove the sysfs setup and cleanup callbacks.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:07 +02:00
Todd Poynor c169d876bf staging: gasket: apex: fold device add/remove logic inline
Gasket device drivers are now in charge of the device add and remove
sequences; the framework callbacks for these are deleted.  Move the
apex device add callback code to the probe function.  Apex did not
implement the removal callback.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:07 +02:00
Todd Poynor 4420ea9366 staging: gasket: core: delete device add and remove callbacks
Gasket device drivers are now in charge of orchestrating the device add
and removal sequences, so the callbacks from the framework to the device
drivers for these events are no longer needed.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:07 +02:00
Todd Poynor 38da89d5cc staging: gasket: apex: enable/disable gasket device from apex
Gasket framework now places device drivers in charge of calling APIs to
enable and disable gasket device operations.  Make the appropriate calls
from the apex driver.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:07 +02:00
Todd Poynor 39091410d0 staging: gasket: core: let device driver enable/disable gasket device
Move gasket device enable/disable functions from internal calls to
external calls from the gasket device drivers.  The device driver will
call these functions at appropriate times in its processing, placing
the device driver in control of this sequence and reducing the need for
callbacks from framework back to the device drivers during the
enable/disable sequences.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:07 +02:00
Todd Poynor 2f649036fa staging: gasket: apex: remove device enable and disable callbacks
These are not implemented for apex, and are now being removed from the
gasket framework.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:07 +02:00
Todd Poynor 1b25e6e81a staging: gasket: core: remove device enable and disable callbacks
Device enable/disable operations are moving from being initiated through
the gasket framework to being initiated by the gasket device driver.
The driver can perform any processing needed for these operations before
or after the calls into the framework.  Neither of these callbacks are
implemented for the only gasket driver upstream today, apex.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:06 +02:00
Todd Poynor c75e2bb32f staging: gasket: core: convert remaining info logs to debug
Remaining info-level logs in gasket core converted to debug-level; the
information is not needed during normal system operation.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:06 +02:00
Todd Poynor 1453e90cc4 staging: gasket: apex: move PCI core calls to apex driver
Apex driver moves PCI core calls like probe, enable, and remove from
gasket to apex.  Call new functions in gasket to register apex as a PCI
device to the gasket framework.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:06 +02:00
Todd Poynor b7072b24fa staging: gasket: core: move core PCI calls to device drivers
Remove gasket wrapping of PCI probe, enable, disable, and remove
functions.  Replace with calls to add and remove PCI gasket devices,
to be called by the gasket device drivers.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:06 +02:00
Todd Poynor a81d678949 staging: gasket: sysfs: clean up state if ENOMEM removing mapping
If kcalloc() returns NULL in put_mapping(), continue to clean up state,
including dropping the reference on the struct device and free attribute
memory.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-08 11:20:06 +02:00