Commit Graph

7930 Commits

Author SHA1 Message Date
Alexander Coers
5797d59f94 ATA: Support for Highpoint HPT36x/37x PCI controller
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes #13819. Some style fixes by me.
2017-12-02 11:45:57 -05:00
Augustin Cavalier
2b1481f0dc Fix a few more miscellaneous (harmless) Clang warnings. 2017-12-02 00:12:51 -05:00
Augustin Cavalier
00aac5fdeb drivers: Add spaces around preprocessor macros in string literals.
It is illegal not to have these in C++11.
2017-12-01 23:59:09 -05:00
Greg Crain
af0c1fa658 xhci: fix hub descriptor command request
The command to get the hub descriptor needs to be a class request and was incorrect causing a Stall error for the hub. The the driver does not handle a stall error yet, causing odd behavior.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2017-11-29 17:40:02 +01:00
Augustin Cavalier
14fcbb52cd device_interfaces: Fix memory leak on success.
The module list was closed properly at the end of the function body
(failure case) but not inside the loop on the success case.

CID 605738.
2017-11-23 19:40:00 +01:00
Jérôme Duval
a99d222832 usb_ecm: support for QEmu CDCE network device.
* the CDCE configuration happens to not be the first: iterate the configurations.
* we set the alternate control interface
* queue interrupt requests once opened.
2017-11-23 16:50:23 +01:00
Adrien Destugues
eb5604bcb0 UDP: keep a reference to domain when we need it
The domains could be deleted by other threads while we were using them
to handle incoming packets, leading to an use after free (deadbeef).

Keep a reference to the doamin as long as we need it so other threads
will not delete them.

Fixes #9721, #12567
2017-11-23 12:11:09 +01:00
François Revol
9c7aacad7b Typo 2017-11-22 14:06:06 +01:00
Augustin Cavalier
164e4f8de4 intel_extreme: Beginnings of Broadwell support.
At present, does not work (it fails to properly set up interrupts,
resulting in thousands of unhandled ones which all but grinds the system
to a halt) but this at least is some progress.
2017-11-21 23:37:18 +00:00
François Revol
e96fd79311 ata_adapter: Remove bad casts for ram_address()
We now accept and return a phys_addr_t as we ought to.
2017-11-21 21:44:02 +01:00
François Revol
4dde854c8a silicon_image_3112: Remove bad casts for ram_address()
We now accept and return a phys_addr_t as we ought to.
2017-11-21 21:44:02 +01:00
François Revol
aef94baf32 ISA: fix ram_address() to use phys_addr_t for completeness
I don't know of any driver actually making use of it, but some weird
architecture might want to emulate an ISA bus to reuse a driver maybe...
2017-11-21 21:44:02 +01:00
François Revol
16bb99fdac PCI: fix ram_address() to use phys_addr_t
Since it handles physical address it should really be this.

It's not like many drivers actually used it anyway. It shouldn't harm
compatibility, drivers calling it with only 32bit would leave garbage in
the higher bits but since on x86 it's a noop anyway, it would end up in
the MSB register tha's ignored because it expects a 32bit result.
2017-11-21 21:44:01 +01:00
Jérôme Duval
1f384bf443 atheros813x and attansic_l1: also switch the mii Jamfiles. 2017-11-19 12:45:26 +01:00
Jérôme Duval
c6ca84c3a0 attansic_l2: sync with FreeBSD 11.1. 2017-11-19 11:54:19 +01:00
Jérôme Duval
c8f44197fe attansic_l1: sync with FreeBSD 11.1. 2017-11-19 11:44:23 +01:00
Jérôme Duval
cf42509b42 atheros813x: sync with FreeBSD 11.1. 2017-11-19 10:33:39 +01:00
Jérôme Duval
aafb7e69a9 ipro1000: MSI interrupts use a handler, no check needed.
tested on Qemu with model=e1000e.
2017-11-18 23:10:25 +01:00
Jérôme Duval
dcdad04383 pcnet: Update with the 11.1 release of the le/pcn driver.
* switch compat layer.
* tested on Qemu, model=pcnet.
2017-11-18 18:45:37 +01:00
Jérôme Duval
45b4110c1c ipro100: Update with the 11.1 release of the fxp driver.
* switch compat layer.
* tested on Qemu, model=i82557b.
2017-11-18 18:14:52 +01:00
Jérôme Duval
7472cf5784 rtl8139/rtl81xx: Update with the 11.1 release of re and rl drivers.
* switch compat layer.
* tested on Qemu and RTL8168 rev 10.
2017-11-18 16:40:39 +01:00
Jérôme Duval
b3fb200fe3 ipro1000: Update with the 11.1 release of the e1000 driver.
* switch compat layer.
* tested on Qemu and Intel I217-LM.
2017-11-15 21:22:02 +01:00
Augustin Cavalier
ec0a48e837 wlan/Jamfile: Update comments to properly reflect in-tree driver origin. 2017-11-13 17:19:05 +01:00
A-star-ayush
272e1a2f97 tcp: fixed no response from window update, removed ideal timer
The reason for the erratic behavior was that the tcp implementation
silently drops window update messages after noting the update but without
triggering any data send event. Before the new TCP patches were applied,
the implementation relied on a retransmission timeout to trigger a send event
after a window update. One of the new patches dealing with the ideal timer
changed the semantic of the restransmit function call and caused the behavior
witnessed.

But a retransmission timeout is not the correct solution to window update. In
fact a retransmission is not a desired effect of window update. So in the patch
attached, I have changed the behavior of the implementation to immediately
acknowledge the window update (along with data from SendQueue) and thus solving
the problem of complete halt in data transmission.

The patch also has the changes re-implemented that were reverted back but had
nothing to do with the issue at hand. For the time being, I have also removed
the "ideal timer" part from the patch (although it wasn't creating any
conflict). I initially decided to implement the ideal timer using the same
timer used for retransmission to avoid adding an additional timer. But as I
have seen, it can be problematic. So I will be re-implementing the ideal timer
and thus it was not included in this patch.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes #13704.
2017-11-11 11:56:51 +01:00
Jérôme Duval
fd6ef33795 xhci: HandleTransferComplete: adjust the lower check.
after the previous commit.
2017-11-08 22:46:33 +01:00
Greg Crain
c5ea0115b0 xhci: Fix incorrect TRB offset; solves #13343
* The incorrect offset would result in semaphores timing out

Signed-off-by: Alexander von Gluck IV <kallisti5@unixzen.com>
2017-11-08 15:13:20 -06:00
Greg Crain
e344167824 xhci: the command ring must be stopped when setting its address.
* send stop and cancel commands.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2017-11-08 19:02:33 +01:00
Greg Crain
5ed6ef8e18 xhci: SubmitControlRequest: init 1st quadbit in SetupStage
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2017-11-08 17:51:50 +01:00
Adrien Destugues
309c068978 FTDI: properly remove out-of-band info from data.
FTDI chips send packets of at most 62 bytes of data, with a 2 byte
header. The code assumed that the chip would return at most 64 bytes,
but with new (USB2) chips this is not the case anymore. As a result,
it was skipping only the first header in a packet and leaving the other
ones in the data stream.
2017-10-28 19:54:57 +02:00
Jérôme Duval
d815bbcbcc Revert "tcp: rfc 2018: implemented SACK option"
This reverts commit 5c31f5a67a.
2017-10-04 19:37:50 +02:00
Augustin Cavalier
9d8a58ea46 nvidia_gpgpu: Remove from tree.
Was nothing but a slightly-stripped version of the nvidia driver,
not touched substantially in nearly 10 years, and the cards it was
originally going to support (but never got anywhere near so) have long since
been deprecated.
2017-09-30 21:27:47 -04:00
Alexander von Gluck IV
4bcba8a84f radeon_hd: Add missing FirePro, Add vega, cleanup names.
* Vega is 100% untested.
* I think AMD is doing away with the DCE version numbers.
2017-09-22 15:58:49 -05:00
Augustin Cavalier
e736356cfa Revert "tcp: slow start@rfc5681 : updated rules for congestion window"
This reverts commit 05743f6a13
(and the portions of following commits that were layered on top of it.)
2017-09-12 14:10:30 -04:00
Jérôme Duval
854c63b57b ipro1000: remove ids already declared in if_lem or if_igb.
* should fix #13698.
2017-09-12 18:37:33 +02:00
Jérôme Duval
e53a95baad ipro1000: Revert part of e32c64c113.
driver.c is part of the beos driver.
2017-09-12 17:39:36 +02:00
Jessica Hamilton
d995db52e5 radeon_hd: fix typo in hrev51403. 2017-09-09 22:16:46 +12:00
Alexander von Gluck IV
807f4d4d5e radeon_hd: Add FirePro W4100 per #13693
* Thanks moochris!
2017-09-08 17:27:51 -05:00
Augustin Cavalier
a222e4d0cc virtio_net: Add to image.
Stress-tested in VirtualBox. No major performance or usability problems;
even when I had tracing enabled, it was transferring data at ~1.1MB/s.
2017-08-31 17:37:50 -04:00
A-star-ayush
5c31f5a67a tcp: rfc 2018: implemented SACK option
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-28 08:52:19 +00:00
A-star-ayush
515cda7241 tcp: rfc 6582: implemented NewReno modification
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-28 08:52:19 +00:00
A-star-ayush
15c58f0cb7 tcp: rfc 5681: implemented ideal timer
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-28 08:52:19 +00:00
A-star-ayush
30982ed7b9 tcp: rfc 6298 & 7323: updated rto calculations and semantics
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-28 08:52:19 +00:00
A-star-ayush
aaa7cebc24 tcp: rfc 7323: added PAWS timestamp check on Receive
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-28 08:52:19 +00:00
A-star-ayush
39bba929ac tcp: rfc 3042: implemented limited transmit
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-28 08:52:19 +00:00
A-star-ayush
ec63a32913 tcp: rfc 5681: implemented fast retransmit and recovery
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-28 08:52:19 +00:00
A-star-ayush
05743f6a13 tcp: slow start@rfc5681 : updated rules for congestion window
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2017-08-28 08:52:19 +00:00
Adrien Destugues
7b6e6c1587 FT232x driver: support hardware flow control.
We had everything in place, except we never actually sent the command to
the device.

Note that the other drivers (prolific, etc) as well as pc_serial need to
be updated as well (might do it when I get access to hardware where I
can test the changes).
2017-08-26 15:29:37 +02:00
Adrien Destugues
2c1c78ae26 iwn: add missing PCI ID
Let's see if this is enough to get an extra card working?
This device ID is supported in the FreeBSD driver.
2017-08-16 14:37:58 +02:00
Jérôme Duval
d784225237 tcp: Subsequent connect() call should return EALREADY.
* should fix #13662.
2017-08-11 15:51:56 +02:00
Philippe Houdoin
9854a9d3d6 virtio_net: set/get actual frame size
works OK under VirtualBox now, but no robustness and performance
tests were made yet.
2017-08-07 18:12:21 +00:00