Commit graph

359 commits

Author SHA1 Message Date
Larry Finger
d53cd09c9d staging: r8188eu: Convert driver to use external firmware
As originally submitted, this driver acquired its firmware from data
statements embedded in the source code. This information has been extracted
into a binary file that has been accepted into the linux-firmware git
repo as commit ffc47f1 entitled "rtlwifi: Add new firmware files for
rtl8188eu". This patch switches the driver to use this file, and deletes
the firmware data from the source.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-10-19 16:23:12 -05:00
Larry Finger
a27737ea39 rtl8188eu: Add firmware
File rtl8188eufw.bin should be copied to /lib/firmware/rtlwifi/.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-10-19 14:02:06 -05:00
Larry Finger
19db43ecbd rtl8188eu: Backport kernel version
This driver was added to the kernel with version 3.12. The changes in that
version are now brought back to the GitHub repo. Essentually all of the code
is updated.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-10-19 12:45:47 -05:00
Larry Finger
868a407435 rtl8188eu: Set device type for wlan
The latest version of NetworkManager will not recognize the device as wireless without
this change.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-10-17 22:25:27 -05:00
Larry Finger
f4d1258158 r8188eu: Fix skb leak in usb_read_port_complete()
In the completion routine for a usb_fill_bulk_urb() call, an skb is
leaked whenever the status of the USB transaction is not zero. A call
to skb_put() is needed to fix the problem.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-10-07 10:13:38 -05:00
Álvaro Fernández Rojas
b49674fa29 Remove HalHWImg8188E_FW from Makefile (file deleted). 2013-09-27 22:01:43 +02:00
Álvaro Fernández Rojas
04251b45bb Remove more unused variables from hal files. 2013-09-27 22:01:01 +02:00
Álvaro Fernández Rojas
9365e8f151 Remove unused variables from hal files. 2013-09-27 21:41:36 +02:00
Larry Finger
3695d581c6 rtl8188eu: Fix AP problem introduced in commit 954eab3
Two code lines were accidentally deleted in the commit noted in subject.
Restore them.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-27 12:46:29 -05:00
Larry Finger
d77f695056 rtl8188eu: Add support for DLINK DWA-125 REV D1
User sergforce reported this on the GitHub issues list.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-26 12:39:39 -05:00
Larry Finger
66ccf88866 rtl8188eu: Fix smatch warnings in core/rtw_security.c
Smatch shows the following:
  CHECK   /home/finger/rtl8188eu/core/rtw_security.c
/home/finger/rtl8188eu/core/rtw_security.c:2077 rijndaelKeySetupEnc() warn: '4' 4 can't fit into 4611686018427387903 'rk'
/home/finger/rtl8188eu/core/rtw_security.c:2108 rijndaelEncrypt() warn: '8' 8 can't fit into 4611686018427387903 'rk'

These warnings were fixed by removing a number of unused routines.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-06 23:09:00 -05:00
Larry Finger
e2b681b690 rtl8188eu: Fix smatch errors in core/rtw_mlme_ext.c
Smatch shows the following:
  CHECK   /home/finger/rtl8188eu/core/rtw_mlme_ext.c
/home/finger/rtl8188eu/core/rtw_mlme_ext.c:8594 mlme_evt_hdl() error: buffer overflow 'wlanevents' 24 <= 24
/home/finger/rtl8188eu/core/rtw_mlme_ext.c:8595 mlme_evt_hdl() error: buffer overflow 'wlanevents' 24 <= 24
/home/finger/rtl8188eu/core/rtw_mlme_ext.c:8596 mlme_evt_hdl() error: buffer overflow 'wlanevents' 24 <= 24
/home/finger/rtl8188eu/core/rtw_mlme_ext.c:8607 mlme_evt_hdl() error: buffer overflow 'wlanevents' 24 <= 24

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-06 22:43:40 -05:00
Larry Finger
c17cf6327b rtl8188eu: Fix smatch errors due to MAX_PATH too small
Several of the struct definitions all for only 2 radio paths; however,
the code now has 3 such paths.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-06 22:29:33 -05:00
Larry Finger
7deab87b12 Merge branch 'next' of https://github.com/Noltari/rtl8188eu 2013-09-06 22:16:17 -05:00
Larry Finger
c2a0523bb7 rtl8188eu: Fix smatch warning in core/rtw_xmit.c
Smatch shows the following:
  CHECK   /home/finger/rtl8188eu/core/rtw_xmit.c
/home/finger/rtl8188eu/core/rtw_xmit.c:1560 dequeue_one_xmitframe() info: ignoring unreachable code.

A while loop that has a break in the first pss is converted to to an if statement.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-06 22:11:06 -05:00
Álvaro Fernández Rojas
5f009d8fc2 Remove whitespaces from EXT_MP_IOCTL_HANDLER. 2013-09-06 18:22:45 +02:00
Álvaro Fernández Rojas
07931c07a0 Remove unused variables from rtw_mp_ioctl.h and move mp_ioctl_hdl to ioctl_linux.c. 2013-09-06 18:20:37 +02:00
Larry Finger
aa4ccbe53f rtl8188eu: Remove unused static data defines from core/rtw_recv.c
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-06 10:04:31 -05:00
Larry Finger
9580338a0b Merge branch 'next' of https://github.com/Noltari/rtl8188eu 2013-09-06 09:59:30 -05:00
Álvaro Fernández Rojas
27670d56d0 Move vars from rtw_recv.h to rtw_recv.c in order to prevent unused vars warnings when including rtw_recv.h.
Note that SNAP_ETH_TYPE_APPLETALK_DDP, SNAP_ETH_TYPE_TDLS, SNAP_HDR_APPLETALK_DDP, oui_8021h and oui_rfc1042 are still unused and can be commented out.
2013-09-06 12:09:58 +02:00
Larry Finger
ab6511b485 rtl8188eu: Fix smatch warnings in hal/rtl8188e_hal_init.c, part 2
Smatch displays the following:
  CHECK   /home/finger/rtl8188eu/hal/rtl8188e_hal_init.c
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:1695 hal_EfusePgPacketWriteData() info: ignoring unreachable code.
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2269 Hal_ReadPowerValueFromPROM_8188E() error: buffer overflow 'pwrInfo24G->IndexBW40_Base[rfPath]' 5 <= 5
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2466 Hal_ReadTxPowerInfo88E() error: buffer overflow 'pHalData->Index24G_CCK_Base[rfPath]' 14 <= 14
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2468 Hal_ReadTxPowerInfo88E() error: buffer overflow 'pHalData->Index24G_BW40_Base[rfPath]' 14 <= 14
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2474 Hal_ReadTxPowerInfo88E() error: buffer overflow 'pHalData->Index24G_CCK_Base[rfPath]' 14 <= 14
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2475 Hal_ReadTxPowerInfo88E() error: buffer overflow 'pHalData->Index24G_BW40_Base[rfPath]' 14 <= 14

An editing error split this patch into two parts.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 22:33:51 -05:00
Larry Finger
a5e071f8da rtl8188eu: Fix smatch warnings in hal/rtl8188e_hal_init.c
Smatch displays the following:
  CHECK   /home/finger/rtl8188eu/hal/rtl8188e_hal_init.c
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:1695 hal_EfusePgPacketWriteData() info: ignoring unreachable code.
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2269 Hal_ReadPowerValueFromPROM_8188E() error: buffer overflow 'pwrInfo24G->IndexBW40_Base[rfPath]' 5 <= 5
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2466 Hal_ReadTxPowerInfo88E() error: buffer overflow 'pHalData->Index24G_CCK_Base[rfPath]' 14 <= 14
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2468 Hal_ReadTxPowerInfo88E() error: buffer overflow 'pHalData->Index24G_BW40_Base[rfPath]' 14 <= 14
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2474 Hal_ReadTxPowerInfo88E() error: buffer overflow 'pHalData->Index24G_CCK_Base[rfPath]' 14 <= 14
/home/finger/rtl8188eu/hal/rtl8188e_hal_init.c:2475 Hal_ReadTxPowerInfo88E() error: buffer overflow 'pHalData->Index24G_BW40_Base[rfPath]' 14 <= 14

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 22:32:25 -05:00
Larry Finger
96ba7d3cca rtl8188eu: Fix smatch warning in core/rtw_xmit.c
Smatch displays the following:
  CHECK   /home/finger/rtl8188eu/core/rtw_xmit.c
/home/finger/rtl8188eu/core/rtw_xmit.c:1571 dequeue_one_xmitframe() info: ignoring unreachable code.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 22:25:22 -05:00
Larry Finger
3be2cff4fe rtl8188eu: Fix smatch warning in core/rtw_wlan_util.c
Smatch shows the following:
  CHECK   /home/finger/rtl8188eu/core/rtw_wlan_util.c
/home/finger/rtl8188eu/core/rtw_wlan_util.c:1111 rtw_check_bcn_info() info: ignoring unreachable code.

This case had the _func_exit_ macro after a return.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 22:22:23 -05:00
Larry Finger
1d3cceea6a rtl8188eu: Fix smatch warnings in hal/HalPhyRf_8188e.c
Smatch reports the following:
  CHECK   /home/finger/rtl8188eu/hal/HalPhyRf_8188e.c
/home/finger/rtl8188eu/hal/HalPhyRf_8188e.c:1878 PHY_APCalibrate_8188E() info: ignoring unreachable code.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 22:14:11 -05:00
Larry Finger
30a3f12112 Merge branch 'next' of https://github.com/Noltari/rtl8188eu 2013-09-05 22:01:50 -05:00
Álvaro Fernández Rojas
bf4d305a09 Fix duplicated use of BROADCOM_OUI2, leaving BROADCOM_OUI3 unused. 2013-09-06 02:45:38 +02:00
Álvaro Fernández Rojas
a7e9834fbc Remove unused variables from core files. 2013-09-06 02:44:02 +02:00
Larry Finger
4749e2c19e rtl8188eu: Fix smatch warning in hal/usb_ops_linux.c
Smatch shows the following:
  CHECK   /home/finger/rtl8188eu/hal/usb_ops_linux.c
/home/finger/rtl8188eu/hal/usb_ops_linux.c:630 usb_read_port() warn: variable dereferenced before check 'precvbuf' (see line 627)

The code is refactored.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 17:58:13 -05:00
Larry Finger
158597dcdd rtl8188eu: Fix smatch warnings in os_dep/ioctl_linux.c
Smatch reports the following warnings:
  CHECK   /home/finger/rtl8188eu/os_dep/ioctl_linux.c
/home/finger/rtl8188eu/os_dep/ioctl_linux.c:991 rtw_wx_set_pmkid() warn: add some parenthesis here?
/home/finger/rtl8188eu/os_dep/ioctl_linux.c:1092 rtw_wx_get_range() warn: assigning (-78) to unsigned variable 'range->avg_qual.level'
/home/finger/rtl8188eu/os_dep/ioctl_linux.c:2742 rtw_get_ap_info() warn: add some parenthesis here?
/home/finger/rtl8188eu/os_dep/ioctl_linux.c:4225 rtw_rereg_nd_name() warn: add some parenthesis here?
/home/finger/rtl8188eu/os_dep/ioctl_linux.c:4234 rtw_rereg_nd_name() warn: add some parenthesis here?
/home/finger/rtl8188eu/os_dep/ioctl_linux.c:5072 set_group_key() warn: missing break? reassigning 'keylen'

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 17:36:23 -05:00
Larry Finger
43dd404762 rtl8188eu: Fix smatch warning in os_dep/osdep_service.c
Smatch shows the following warning:
  CHECK   /home/finger/rtl8188eu/os_dep/osdep_service.c
/home/finger/rtl8188eu/os_dep/osdep_service.c:670 rtw_change_ifname() warn: variable dereferenced before check 'padapter' (see line 666)

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 17:30:18 -05:00
Larry Finger
be114f8fae rtl8188eu: Fix smatch warning in os_dep/recv_linux.c
Smatch shows the following warning:
  CHECK   /home/finger/rtl8188eu/os_dep/recv_linux.c
/home/finger/rtl8188eu/os_dep/recv_linux.c:236 rtw_recv_indicatepkt() warn: variable dereferenced before check 'precv_frame' (see line 142)

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 17:23:55 -05:00
Larry Finger
72c61c0cb2 rtl8188eu: Fix smatch warning in os_dep/usb_intf.c
iSmatch shows the following warning:
  CHECK   /home/finger/rtl8188eu/os_dep/usb_intf.c
/home/finger/rtl8188eu/os_dep/usb_intf.c:720 rtw_resume_process() error: potentially dereferencing uninitialized 'pwrpriv'.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 17:21:46 -05:00
Larry Finger
ffac87a92b rtl8188eu: Fix code error in include/rtw_xmit.h
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 17:13:58 -05:00
Larry Finger
65c4e60be3 rtl8188eu: Fix smatch problems in core/rtw_ioctl_set.c
Smatch reports the following problems:
  CHECK   /home/finger/rtl8188eu/core/rtw_ioctl_set.c
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:593 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:595 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKeylen' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:599 rtw_set_802_11_add_wep() error: buffer overflow 'psecuritypriv->dot11DefKey' 4 <= 4
/home/finger/rtl8188eu/core/rtw_ioctl_set.c:745 rtw_set_802_11_add_key() warn: was && intended here instead of ||?

The buffer overflow messages are due to an off-by-one problem. An if test skips code
for a value > 4. It should be >= 4.

The warning for a suspect logical operator was correct. With a logical or in the statement,
it made no sense.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 12:26:29 -05:00
Larry Finger
d1d8ed064b rtl8188eu: Fix smatch warning in core/rtw_ieee80211.c
Smatch reports the following warning:
  CHECK   /home/finger/rtl8188eu/core/rtw_ieee80211.c
/home/finger/rtl8188eu/core/rtw_ieee80211.c:161 rtw_set_ie() info: ignoring unreachable code.

This warning is caused by a _func_exit_ macro placed after the return.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 12:10:47 -05:00
Larry Finger
8f7fde8d6a rtl8188eu: Fix smatch warnings in core/rtw_efuse.c
Smatch reports the following warnings:

  CHECK   /home/finger/rtl8188eu/core/rtw_efuse.c
/home/finger/rtl8188eu/core/rtw_efuse.c:646 rtw_efuse_map_write() error: buffer overflow 'newdata' 8 <= 8
/home/finger/rtl8188eu/core/rtw_efuse.c:655 rtw_efuse_map_write() error: buffer overflow 'newdata' 8 <= 8
/home/finger/rtl8188eu/core/rtw_efuse.c:738 rtw_BT_efuse_map_write() error: buffer overflow 'newdata' 8 <= 8
/home/finger/rtl8188eu/core/rtw_efuse.c:747 rtw_BT_efuse_map_write() error: buffer overflow 'newdata' 8 <= 8

These are due to an off-by-one error in an array size.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 12:08:39 -05:00
Larry Finger
4769256ac2 rtl8188eu: Fix smatch warnings in core/rtw_cmd.c
Smatch reports the following warnings:
  CHECK   /home/finger/rtl8188eu/core/rtw_cmd.c
/home/finger/rtl8188eu/core/rtw_cmd.c:385 rtw_cmd_thread() error: buffer overflow 'wlancmds' 63 <= 63
/home/finger/rtl8188eu/core/rtw_cmd.c:403 rtw_cmd_thread() error: buffer overflow 'rtw_cmd_callback' 63 <= 63

These are caused by an off-by-one error using <= rather than <.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 12:03:09 -05:00
Larry Finger
ccd4c72b62 rtl8188eu: Fix smatch warning in core/rtw_br_ext.c
Smatch reports the following warning:
  CHECK   /home/finger/rtl8188eu/core/rtw_br_ext.c
/home/finger/rtl8188eu/core/rtw_br_ext.c:693 nat25_db_handle() info: ignoring unreachable code.

Remove an entra return statement.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-09-05 11:58:02 -05:00
Álvaro Fernández Rojas
9d32703c93 Remove duplicated CONFIG_AP_MODE check. 2013-09-05 15:16:49 +02:00
Larry Finger
9e9f54983f rtl8188eu: Increase maximum RX gain
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-31 20:02:19 -05:00
Larry Finger
993b021502 rtl8188eu: Fix bug introduced in commit ef1472a
The bug caused failure to transfter data for any B/G network.

Reported by Paolo Valleri
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-19 13:10:26 -05:00
Larry Finger
0306cad214 rtl8188eu: A few fixups
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-19 12:21:40 -05:00
Larry Finger
7446992dc4 rtl8188eu: Remove include/circ_buf.h
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-15 20:09:00 -05:00
Larry Finger
168faff726 rtl8188eu: Fix checkpatch errors in include/*.h - part 4
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-15 20:04:25 -05:00
Larry Finger
8a46c9e7a5 rtl8188eu: Fix checkpatch errors in include/*.h - part 3
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-15 16:11:51 -05:00
Larry Finger
7120e63109 rtl8188eu: Fix chackpatch errors in include/*.h - part 2
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-14 22:03:17 -05:00
Larry Finger
2db42a3fbf rtl8188eu: Convert non-standard variable types to regular ones
These include changing s1Byte to s8, etc.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-14 12:03:28 -05:00
Larry Finger
9dd1827027 rtl8188eu: Fix checkpatch errors in include/*.h - part 1
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-13 21:01:38 -05:00
Larry Finger
f9d86b986b rtl8188eu: Fix C90 comments in include/*.h
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2013-08-11 23:36:23 -05:00