aboutsummaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* if_firewire: fixing panic upon packet reception for VNET buildTai-hwa Liang2021-05-251-0/+2
| | | | | | | | | | netisr_dispatch_src() needs valid VNET pointer or firewire_input() will panic when receiving a packet. Reviewed by: glebius MFC after: 2 weeks (cherry picked from commit d9b61e7153c64b141436b4d9619b166c6d35a0a6)
* Adapt merge of r361581 to 9-stable to unbreak kernel compilation.Hans Petter Selasky2020-06-091-2/+1
| | | | | | | | | This is a direct commit. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=361989
* MFC r361827:Hans Petter Selasky2020-06-081-26/+26
| | | | | | | | | | | | | | | | | | USB HID descriptors may push/pop the current state to allow description of items residing in a so-called union. FreeBSD currently only supports 4 such push levels. If the push level is not restored within the processing of the same HID item, an invalid memory location may be used for subsequent HID item processing. Verify that the push level is always valid when processing HID items. Reported by: Andy Nguyen (Google) Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=361922
* MFC r361582:Hans Petter Selasky2020-06-081-3/+4
| | | | | | | | | | Fix check for wMaxPacketSize in USB bluetooth driver, in case device is not FULL speed. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=361917
* MFC r361581:Hans Petter Selasky2020-06-082-0/+78
| | | | | | | | | | Implement helper function, usbd_get_max_frame_length(), which allows kernel device drivers to correctly predict the default USB transfer frame length. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=361913
* MFC r361577:Hans Petter Selasky2020-06-081-1/+1
| | | | | | | | | | Don't allow USB device drivers to parent own interface. It will prevent proper USB device detach. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=361909
* MFC r361075:Hans Petter Selasky2020-05-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Assign process group of the TTY under the "proctree_lock". This fixes a race where concurrent calls to doenterpgrp() and leavepgrp() while TIOCSCTTY is executing may result in tp->t_pgrp changing value so that tty_rel_pgrp() misses clearing it to NULL. For more details refer to the use of pgdelete() in the kernel. No functional change intended. Panic backtrace: __mtx_lock_sleep() # page fault due to using destroyed mutex tty_signal_pgrp() tty_ioctl() ptsdev_ioctl() kern_ioctl() sys_ioctl() amd64_syscall() Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=361359
* MFC r360075:Hans Petter Selasky2020-04-261-17/+0
| | | | | | | | | | | | | | Set the maximum exit latency to 0 for XHCI USB 3.0 devices, because we don't implement link power management, LPM. This fixes error code XHCI_TRB_ERROR_BANDWIDTH for isochronous USB 3.0 transactions. Submitted by: Horse Ma <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=360336
* MFC r359120:Hans Petter Selasky2020-03-262-6/+52
| | | | | | | | | | Correctly implement support for remote wakeup for USB 3.0 device. Submitted by: Horse Ma <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=359319
* MFC r359014:Hans Petter Selasky2020-03-191-1/+0
| | | | | | | | | | | Fix for double unlock in ipoib. The ipoib_unicast_send() function is not supposed to unlock the priv lock. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=359124
* MFC r358838:Hans Petter Selasky2020-03-132-1/+5
| | | | | | | | | | Add support for the device statistics IOCTL, needed by the coming linux_libusb upgrade. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=358946
* MFC r253338:Hans Petter Selasky2020-03-132-1/+13
| | | | | | | Add some missing LIBUSB IOCTL conversion codes. Notes: svn path=/stable/9/; revision=358945
* Define USB_FS_OPEN_STREAM, even if not supported.Hans Petter Selasky2020-03-131-0/+1
| | | | | | | | | This is a direct commit. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=358944
* MFC r358695:Hans Petter Selasky2020-03-131-0/+4
| | | | | | | | | | Define more subsystem orders. Intended for use with module_init_order() in the LinuxKPI. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=358938
* MFC r358694:Hans Petter Selasky2020-03-131-3/+3
| | | | | | | | | Fix some whitespace issues in ipoib. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=358934
* MFC r358629:Hans Petter Selasky2020-03-114-21/+20
| | | | | | | | | | | | | | | | | | Implement a detaching flag for the sound(4) subsystem to take appropriate actions when we are trying to detach an audio device, but cannot because someone is using it. This avoids applications having to wait for the DSP read data timeout before they receive any error indication. Tested with virtual_oss(8). Remove some unused definitions while at it. PR: 194727 Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=358880
* MFC r358738:Hans Petter Selasky2020-03-112-9/+6
| | | | | | | | | | | | | | | Remove the power bit from the super speed root hub port status register because it clobbers the super speed link status when a device is in super speed mode. Currently the power bit is not needed for anything in the USB hub driver. This fixes USB warm reset for super speed devices. Tested by: Shichun.Ma@dell.com Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=358876
* MFC r348631:Hans Petter Selasky2019-06-101-4/+47
| | | | | | | | | | | | | In usb(4) fix a lost completion event issue towards libusb(3). It may happen if a USB transfer is cancelled that we need to fake a completion event. Implement missing support in ugen_fs_copy_out() to handle this. This fixes issues with webcamd(8) and firefox. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=348858
* MFC r345499:Hans Petter Selasky2019-04-051-12/+58
| | | | | | | | | | | | | | | | | | | Change all kernel C-type macros into static inline functions. The current kernel C-type macros might obscurely hide the fact that the input argument might be used multiple times. This breaks code like: isalpha(*ptr++) Use static inline functions instead of macros to fix this. Reviewed by: kib @ Differential Revision: https://reviews.freebsd.org/D19694 Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=345944
* MFC r342549:Hans Petter Selasky2019-01-032-0/+5
| | | | | | | | | | Add USB quirk for SPL Crimson Rev 1. PR: 234380 Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=342729
* MFC r342456:Hans Petter Selasky2019-01-031-7/+46
| | | | | | | | | | | | Fix reading of USB sample rate descriptor for SPL Crimson Rev 1. Read first one entry, then try to read the full rate descriptor table. PR: 234380 Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=342728
* MFC r340248:Hans Petter Selasky2018-11-111-1/+11
| | | | | | | | | | Don't read the USB audio sync endpoint when we don't use it to save isochronous bandwidth. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=340353
* MFC r339366David C Somayajulu2018-10-293-35/+372
| | | | | | | | | Add support for Error Recovery Submitted by:Vaishali.Kulkarni@cavium.com Notes: svn path=/stable/9/; revision=339887
* MFC r338734David C Somayajulu2018-10-291-8/+10
| | | | | | | | | | | Fixed isses: State check before enqueuing transmit task in bxe_link_attn() routine. State check before invoking bxe_nic_unload in bxe_shutdown(). Submitted by:Vaishali.Kulkarni@cavium.com Notes: svn path=/stable/9/; revision=339885
* MFC r339587:Hans Petter Selasky2018-10-291-35/+182
| | | | | | | | | | | | | | | Added support for formula-based arbitrary baud rates, in contrast to the current fixed values, which enables use of rates above 1 Mbps. Improved the detection of HXD chips, and the status flag handling as well. Submitted by: Gabor Simon <gabor.simon75@gmail.com> PR: 225932 Differential revision: https://reviews.freebsd.org/D16639 Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=339854
* MFC r339582:Hans Petter Selasky2018-10-251-2/+15
| | | | | | | | | | | Drop sequencer mutex around uiomove() and make sure we don't move more bytes than is available, else a panic might happen. Found by: Peter Holm <peter@holm.cc> Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=339722
* MFC r339581:Hans Petter Selasky2018-10-251-1/+1
| | | | | | | | | | Fix off-by-one which can lead to panics. Found by: Peter Holm <peter@holm.cc> Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=339716
* MFC r339509: Fix loader.conf(5) "password" featureDevin Teske2018-10-241-0/+1
| | | | | | | | | | | | Restore the ability to prevent the user from interrupting the boot process without first entering the password stored in loader.conf(5). PR: kern/207069 Reported by: david@dcrosstech.com Sponsored by: Smule, Inc. Notes: svn path=/stable/9/; revision=339699
* MFC r338200: Adding device ID for Terratec SiXPack 5.1+.Tai-hwa Liang2018-10-101-0/+1
| | | | Notes: svn path=/stable/9/; revision=339295
* MFC r309748 (by glebius):Dimitry Andric2018-09-181-0/+3
| | | | | | | | | | | | | | | | Treat R_X86_64_PLT32 relocs as R_X86_64_PC32. If we load a binary that is designed to be a library, it produces relocatable code via assembler directives in the assembly itself (rather than compiler options). This emits R_X86_64_PLT32 relocations, which are not handled by the kernel linker. Submitted by: gallatin Reviewed by: kib PR: 231451 Notes: svn path=/stable/9/; revision=338756
* MFC r338038: Extending the delay cycles to give the codec more time to pump ↵Tai-hwa Liang2018-08-261-1/+1
| | | | | | | | | | | | | | | | ADC data across the AC-link. Without this patch, some CS4614 cards will need users to reload the driver manually or the hardware won't be initialised properly. Something like: # kldload snd_csa # kldunload snd_csa # kldload snd_csa Tested with: Terratec SiXPack 5.1+ Notes: svn path=/stable/9/; revision=338327
* MFC r336438David C Somayajulu2018-08-091-13/+29
| | | | | | | | | | | | | Fixes for the following issues: 1. Fix taskqueues drain/free to fix panic seen when interface is being bought down and in parallel asynchronous link events happening. 2. Fix bxe_ifmedia_status() Submitted by:Vaishali.Kulkarni@cavium.com and Anand.Khoje@cavium.com Notes: svn path=/stable/9/; revision=337512
* MFC r336632:Hans Petter Selasky2018-07-301-0/+1
| | | | | | | | | Update modify counter when setting a mixer control. PR: 229969 Notes: svn path=/stable/9/; revision=336891
* MFC r335700:Hans Petter Selasky2018-07-301-2/+27
| | | | | | | | | | | Improve the kernel's USB descriptor reading function. Some USB devices does not allow a partial descriptor readout. Found by: bz@ Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=336888
* MFC r333004David C Somayajulu2018-05-091-5/+6
| | | | | | | | | | | Fix Issue with adding MUltiCast Addresses. When multicast addresses are added/deleted, the delete the multicast addresses previously programmed in HW and reprogram the new set of multicast addresses. Submitted by:Vaishali.Kulkarni@cavium.com Notes: svn path=/stable/9/; revision=333432
* MFC r333003David C Somayajulu2018-05-095-148720/+148782
| | | | | | | Upgraded FW Related Files to version 5.4.67 Notes: svn path=/stable/9/; revision=333423
* MFC r331739David C Somayajulu2018-04-056-10/+52
| | | | | | | | | 1. Add additional debug prints. 2. Break transmit when IFF_DRV_RUNNING is OFF. 3. set desc_count=0 for default case in switch in ql_rcv_isr() Notes: svn path=/stable/9/; revision=332054
* MFC r329855David C Somayajulu2018-03-0613-170/+805
| | | | | | | | | | | | | | | | | | 1. Added support to offline a port if is error recovery on successful. 2. Sysctls to enable/disable driver_state_dump and error_recovery. 3. Sysctl to control the delay between hw/fw reinitialization and restarting the fastpath. 4. Stop periodic stats retrieval if interface has IFF_DRV_RUNNING flag off. 5. Print contents of PEG_HALT_STATUS1 and PEG_HALT_STATUS2 on heartbeat failure. 6. Speed up slowpath shutdown during error recovery. 7. link_state update using atomic_store. 8. Added timestamp information on driver state and minidump captures. 9. Added support for Slowpath event logging 10.Added additional failure injection types to simulate failures. Notes: svn path=/stable/9/; revision=330557
* MFC r328623:Hans Petter Selasky2018-02-011-1/+1
| | | | | | | | | Properly implement the cond_resched() function macro in the LinuxKPI. Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=328657
* MFC r327167:Dimitry Andric2018-01-011-1/+1
| | | | | | | | | Remove obsolete register keyword from opensolaris's sysmacros.h. When compiling zfsd with recent clang, it leads to a warning about the register storage class being incompatible with C++17. Notes: svn path=/stable/9/; revision=327470
* MFC r326362:Hans Petter Selasky2017-12-082-2/+4
| | | | | | | | | | | | | | Disallow TUN and TAP character device IOCTLs to modify the network device type to any value. This can cause page faults and panics due to accessing uninitialized fields in the "struct ifnet" which are specific to the network device type. Found by: jau@iki.fi PR: 223767 Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=326693
* MFC r326161:Hans Petter Selasky2017-12-041-0/+12
| | | | | | | | | | | Implement atomic_fetchadd_64() for i386. This function is needed by the atomic64 header file in the LinuxKPI for i386. Reviewed by: kib Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=326517
* MFC r326392:Hans Petter Selasky2017-12-041-6/+6
| | | | | | | | | | | | | | | | | | Properly define the VLAN_XXX() function macros to avoid miscompilation when used inside "if" statements comparing with another value. Detailed explanation: "if (a ? b : c != 0)" is not the same like "if ((a ? b : c) != 0)" which is the expected behaviour of a function macro. Affects: toecore, linuxkpi and ibcore. Reviewed by: kib Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=326513
* MFC r325533:Hans Petter Selasky2017-11-171-1/+1
| | | | | | | | | | | Make the dma_alloc_coherent() function in the LinuxKPI NULL safe with regard to the "dev" argument. Submitted by: Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications Notes: svn path=/stable/9/; revision=325938
* MFC r324445:Hans Petter Selasky2017-10-201-1/+1
| | | | | | | | | | | | | | | | | | When showing the sleepqueues from the in-kernel debugger, properly dump all the sleepqueues and not just the first one History: It appears that in the commit which introduced the code, r165272, the array indexes of "sq_blocked[0]" and "td_name[i]" were interchanged. In r180927 "td_name[i]" was corrected to "td_name[0]", but "sq_blocked[0]" was left unchanged. PR: 222624 Discussed with: kmacy @ Sponsored by: Mellanox Technologies Notes: svn path=/stable/9/; revision=324801
* MFC r324538David C Somayajulu2017-10-197-3/+311
| | | | | | | Added support driver state capture/retrieval Notes: svn path=/stable/9/; revision=324766
* MFC r324535David C Somayajulu2017-10-192-0/+25
| | | | | | | | | Add sanity checks in ql_hw_send() qla_send() to ensure that empty slots in Tx Ring map to empty slot in Tx_buf array before Transmits. If the checks fail further Transmission on that Tx Ring is prevented. Notes: svn path=/stable/9/; revision=324765
* MFC r324065David C Somayajulu2017-10-051-0/+1
| | | | | | | | Tx Ring Shadow Consumer Index Register needs to be cleared prior to passing it's physical address to the FW during Tx Create Context. Notes: svn path=/stable/9/; revision=324333
* MFC r324026David C Somayajulu2017-10-053-3/+15
| | | | | | | | | Fix delete all multicast addresses Submitted by: Anand.Khoje@cavium.com Notes: svn path=/stable/9/; revision=324332
* MFC r323824David C Somayajulu2017-09-262-4/+19
| | | | | | | | | | | | | | | | | 1. ql_hw.c: In ql_hw_send() return EINVAL when TSO framelength exceeds max supported length by HW.(davidcs) 2. ql_os.c: In qla_send() call bus_dmamap_unload before freeing mbuf or recreating dmmamap.(davidcs) In qla_fp_taskqueue() Add additional checks for IFF_DRV_RUNNING Fix qla_clear_tx_buf() call bus_dmamap_sync() before freeing mbuf. Submitted by: David.Bachu@netapp.com Notes: svn path=/stable/9/; revision=324036