Pull networking fixes from David Miller:
1) kvaser CAN driver has fixed limits of some of it's table, validate
that we won't exceed those limits at probe time. Fix from Olivier
Sobrie.
2) Fix rtl8192ce disabling interrupts for too long, from Olivier
Langlois.
3) Fix botched shift in ath5k driver, from Dan Carpenter.
4) Fix corruption of deferred packets in TIPC, from Erik Hugne.
5) Fix newlink error path in macvlan driver, from Cong Wang.
6) Fix netpoll deadlock in bonding, from Ding Tianhong.
7) Handle GSO packets properly in forwarding path when fragmentation is
necessary on egress, from Florian Westphal.
8) Fix axienet build errors, from Michal Simek.
9) Fix refcounting of ubufs on tx in vhost net driver, from Michael S
Tsirkin.
10) Carrier status isn't set properly in hyperv driver, from Haiyang
Zhang.
11) Missing pci_disable_device() in tulip_remove_one), from Ingo Molnar.
12) AF_PACKET qdisc bypass mode doesn't adhere to driver provided TX
queue selection method. Add a fallback method mechanism to fix this
bug, from Daniel Borkmann.
13) Fix regression in link local route handling on GRE tunnels, from
Nicolas Dichtel.
14) Bonding can assign dup aggregator IDs in some sequences of
configuration, fix by making the allocation counter per-bond instead
of global. From Jiri Bohac.
15) sctp_connectx() needs compat translations, from Daniel Borkmann.
16) Fix of_mdio PHY interrupt parsing, from Ben Dooks
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (62 commits)
MAINTAINERS: add entry for the PHY library
of_mdio: fix phy interrupt passing
net: ethernet: update dependency and help text of mvneta
NET: fec: only enable napi if we are successful
af_packet: remove a stray tab in packet_set_ring()
net: sctp: fix sctp_connectx abi for ia32 emulation/compat mode
ipv4: fix counter in_slow_tot
irtty-sir.c: Do not set_termios() on irtty_close()
bonding: 802.3ad: make aggregator_identifier bond-private
usbnet: remove generic hard_header_len check
gre: add link local route when local addr is any
batman-adv: fix potential kernel paging error for unicast transmissions
batman-adv: avoid double free when orig_node initialization fails
batman-adv: free skb on TVLV parsing success
batman-adv: fix TT CRC computation by ensuring byte order
batman-adv: fix potential orig_node reference leak
batman-adv: avoid potential race condition when adding a new neighbour
batman-adv: properly check pskb_may_pull return value
batman-adv: release vlan object after checking the CRC
batman-adv: fix TT-TVLV parsing on OGM reception
...
Add a new argument for ndo_select_queue() callback that passes a
fallback handler. This gets invoked through netdev_pick_tx();
fallback handler is currently __netdev_pick_tx() as most drivers
invoke this function within their customized implementation in
case for skbs that don't need any special handling. This fallback
handler can then be replaced on other call-sites with different
queue selection methods (e.g. in packet sockets, pktgen etc).
This also has the nice side-effect that __netdev_pick_tx() is
then only invoked from netdev_pick_tx() and export of that
function to modules can be undone.
Suggested-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The go_devadd_str[] array is two characters too small to hold the
address so we corrupt memory.
I've changed the user space API slightly and I don't have a way to test
if this breaks anything. In the original code we truncated away the
last digit of the address and the NUL terminator so it was already a bit
broken.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
MAX_MP_IOCTL_SUBCODE (35) and mp_ioctl_hdl (32 elements) are no longer
in sync. It leads to a bogus pointer dereference.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There is a typo in the device list that interchanges the vendor and
product codes for one of the entries. This exchange was determined
by noticing that the vendor code is 0x07b8 for Abocom at
http://www.linux-usb.org/usb.ids.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
We should cap the SSID length at NDIS_802_11_LENGTH_SSID (32) characters
to avoid memory corruption. If the SSID is too long then I have opted
to ignore it instead of truncating it.
We don't need to clear bssid->Ssid.Ssid[0] because this struct is
allocated with rtw_zmalloc()
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Here's the big drivers/staging/ update for 3.14-rc1
Lots and lots of cleanups, IIO driver updates are also mixed in here due
to the subsystem still crossing staging and drivers/iio/, and the dwc2
driver is moved out of staging. There's a new driver (rts5208), which
ends up making us adding more lines than removing, but overall there was
lots of work toward moving code out of here, which was good.
All of this has been in linux-next with no reported issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iEYEABECAAYFAlLdiE8ACgkQMUfUDdst+ynmYgCcDI9d1Jjo42+tpilIl3hOEb/f
sF8An1W3HRXM3XPG+X1POqprMAk0Jt63
=1Ztu
-----END PGP SIGNATURE-----
Merge tag 'staging-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging driver tree changes from Greg KH:
"Here's the big drivers/staging/ update for 3.14-rc1
Lots and lots of cleanups, IIO driver updates are also mixed in here
due to the subsystem still crossing staging and drivers/iio/, and the
dwc2 driver is moved out of staging. There's a new driver (rts5208),
which ends up making us adding more lines than removing, but overall
there was lots of work toward moving code out of here, which was good
All of this has been in linux-next with no reported issues"
* tag 'staging-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1084 commits)
lustre: delete linux/lustre_debug.h
staging: lustre: remove some unused debug macros
usb: dwc2: move device tree bindings doc to correct place
staging: vt6656: sparse fixes: iwctl_giwgenie use memcpy.
staging: vt6656: sparse fixes: iwctl_siwgenie use memcpy.
staging: vt6656: sparse fixes ethtool_ioctl Use struct ifreq *
staging: vt6656: sparse fixes: dpc.c missing dpc.h
staging: lustre: libcfs_debug: small whitespace cleanups
staging: lustre: libcfs_debug.h: remove extra blank lines
staging: lustre: libcfs_debug.h: Align backslashes in macros
staging: lustre: libcfs_debug.h: align define values
staging: tidspbridge: adjust error return code (bugfix)
Staging: rts5139: rts51x_card: fixed style issues
staging: wlags49_h2: Fix "do not use C99 //" in wl_cs.h, wl_enc.h wl_main.h and wl_wext.h
Staging: rtl8188eu: Fixed "foo * bar" related coding style issues
Staging: rtl8188eu: Fixed required spaces after ',' and around '=' and '=='
staging: vt6655: Fix memory leak in wpa_ioctl()
imx-drm: parallel-display: honor 'native-mode' property when selecting video mode from DT
staging: drm/imx: don't drop crtc offsets when doing pageflip
staging: drm/imx: handle framebuffer offsets correctly
...
This patch fixes all spaces required after ',' and around '=' aswell as '=='
checkpatch.pl errors for rtl8188eu.
Signed-off-by: Tim Jester-Pfadt <t.jp@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch fixes two spaces at the start of the line aswell as all space after
opening parenthesis and space before closeing parenthesis checkpatch.pl warnings
in rtw_mlme.h
Signed-off-by: Tim Jester-Pfadt <t.jp@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Currently, the tx queue were selected implicitly in ndo_dfwd_start_xmit(). The
will cause several issues:
- NETIF_F_LLTX were removed for macvlan, so txq lock were done for macvlan
instead of lower device which misses the necessary txq synchronization for
lower device such as txq stopping or frozen required by dev watchdog or
control path.
- dev_hard_start_xmit() was called with NULL txq which bypasses the net device
watchdog.
- dev_hard_start_xmit() does not check txq everywhere which will lead a crash
when tso is disabled for lower device.
Fix this by explicitly introducing a new param for .ndo_select_queue() for just
selecting queues in the case of l2 forwarding offload. netdev_pick_tx() was also
extended to accept this parameter and dev_queue_xmit_accel() was used to do l2
forwarding transmission.
With this fixes, NETIF_F_LLTX could be preserved for macvlan and there's no need
to check txq against NULL in dev_hard_start_xmit(). Also there's no need to keep
a dedicated ndo_dfwd_start_xmit() and we can just reuse the code of
dev_queue_xmit() to do the transmission.
In the future, it was also required for macvtap l2 forwarding support since it
provides a necessary synchronization method.
Cc: John Fastabend <john.r.fastabend@intel.com>
Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: e1000-devel@lists.sourceforge.net
Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Fixed all space before tab warnings and space before close parenthesis
errors on rtl8188e_spec.h
Signed-off-by: Tim Jester-Pfadt <t.jp@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fixed required and prohibited spaces to make rtw_io.h checkpatch.pl clean
Signed-off-by: Tim Jester-Pfadt <t.jp@gmx.de>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The kernel already has this information, and individual drivers
shouldn't duplicate that. This also eliminates the use of __DATE__ and
__TIME__, which make the build non-deterministic.
Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sparse lists the following:
CHECK drivers/staging/rtl8188eu/core/rtw_br_ext.c
drivers/staging/rtl8188eu/core/rtw_br_ext.c:700:101: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:700:101: expected unsigned int *ipxNetAddr
drivers/staging/rtl8188eu/core/rtw_br_ext.c:700:101: got restricted __be32 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:700:123: warning: incorrect type in argument 3 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:700:123: expected unsigned short *ipxSocketAddr
drivers/staging/rtl8188eu/core/rtw_br_ext.c:700:123: got restricted __be16 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:705:99: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:705:99: expected unsigned int *ipxNetAddr
drivers/staging/rtl8188eu/core/rtw_br_ext.c:705:99: got restricted __be32 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:714:101: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:714:101: expected unsigned int *ipxNetAddr
drivers/staging/rtl8188eu/core/rtw_br_ext.c:714:101: got restricted __be32 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:714:121: warning: incorrect type in argument 3 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:714:121: expected unsigned short *ipxSocketAddr
drivers/staging/rtl8188eu/core/rtw_br_ext.c:714:121: got restricted __be16 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:721:99: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:721:99: expected unsigned int *ipxNetAddr
drivers/staging/rtl8188eu/core/rtw_br_ext.c:721:99: got restricted __be32 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:749:83: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:749:83: expected unsigned short *network
drivers/staging/rtl8188eu/core/rtw_br_ext.c:749:83: got restricted __be16 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:762:83: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:762:83: expected unsigned short *network
drivers/staging/rtl8188eu/core/rtw_br_ext.c:762:83: got restricted __be16 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:783:83: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:783:83: expected unsigned short *network
drivers/staging/rtl8188eu/core/rtw_br_ext.c:783:83: got restricted __be16 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:795:83: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:795:83: expected unsigned short *network
drivers/staging/rtl8188eu/core/rtw_br_ext.c:795:83: got restricted __be16 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:849:57: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:849:57: expected unsigned short [unsigned] [short] <noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:849:57: got restricted __be16 [usertype] <noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:92:23: warning: restricted __be16 degrades to integer
drivers/staging/rtl8188eu/core/rtw_br_ext.c:876:95: warning: incorrect type in argument 3 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:876:95: expected unsigned short *sid
drivers/staging/rtl8188eu/core/rtw_br_ext.c:876:95: got restricted __be16 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:912:45: warning: cast to restricted __be16
drivers/staging/rtl8188eu/core/rtw_br_ext.c:912:45: warning: cast to restricted __be16
drivers/staging/rtl8188eu/core/rtw_br_ext.c:912:45: warning: cast to restricted __be16
drivers/staging/rtl8188eu/core/rtw_br_ext.c:912:45: warning: cast to restricted __be16
drivers/staging/rtl8188eu/core/rtw_br_ext.c:944:112: warning: incorrect type in argument 3 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:944:112: expected unsigned short *sid
drivers/staging/rtl8188eu/core/rtw_br_ext.c:944:112: got restricted __be16 *<noident>
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1019:84: warning: incorrect type in argument 3 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1019:84: expected unsigned int [unsigned] [usertype] len
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1019:84: got restricted __be16 [usertype] payload_len
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1021:110: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1021:110: expected int [signed] len
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1021:110: got restricted __be16 [usertype] payload_len
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1145:54: warning: cast to restricted __be32
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1145:54: warning: cast to restricted __be32
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1145:54: warning: cast to restricted __be32
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1145:54: warning: cast to restricted __be32
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1145:54: warning: cast to restricted __be32
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1145:54: warning: cast to restricted __be32
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1148:70: warning: restricted __be16 degrades to integer
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1154:70: warning: invalid assignment: |=
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1154:70: left side has type unsigned short
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1154:70: right side has type restricted __be16
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1157:64: warning: cast to restricted __be16
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1157:64: warning: cast to restricted __be16
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1157:64: warning: cast to restricted __be16
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1157:64: warning: cast to restricted __be16
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sparse reports the following warning:
CHECK drivers/staging/rtl8188eu/core/rtw_xmit.c
drivers/staging/rtl8188eu/core/rtw_xmit.c:809:23: warning: incorrect type in initializer (different base types)
drivers/staging/rtl8188eu/core/rtw_xmit.c:809:23: expected unsigned short [usertype] *fctrl
drivers/staging/rtl8188eu/core/rtw_xmit.c:809:23: got restricted __le16 *<noident>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sparse reports the following:
CHECK drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
drivers/staging/rtl8188eu/core/rtw_pwrctrl.c:525:6: warning: symbol 'rtw_free_pwrctrl_priv' was not declared. Should it be static?
That routine is not used and has been deleted.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sparse reports the following:
CHECK drivers/staging/rtl8188eu/core/rtw_sta_mgt.c
drivers/staging/rtl8188eu/core/rtw_sta_mgt.c:152:6: warning: symbol 'rtw_mfree_all_stainfo' was not declared. Should it be static?
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There are two different enum statements that have been combined.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This driver only handles RTL8188EU with USB interface, thus several hardware
defines and macros can be removed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This driver only works with the USB bus. Accordingly, enum odm_interface_def
can be removed along with all code that uses ODM_ITRF_XXX, where XXX is not USB.
In enum odm_ic_type, only ODM_RTL8188E is used. Remove the enum, all references
to the others, and define the needed value.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This header contains a number of routines that do not to be available
globally. Once this change was made, a number of the routines were not
used, and could be removed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This member of struct odm_dm_struct is always set to ODM_RTL8188E for this
driver. Accordingly, the code can be simplified. A number of routines
now are no longer needed and are deleted.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This member of struct odm_dm_struct is always set to ODM_CE in this driver.
As a result, a number of switch and if statements can be simplified. In
addition, a number of routines are no longer used and can be removed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This is equivalent to PHY_GetBBReg.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This is the same as macro PHY_SetBBReg.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This one is a duplicate od macro PHY_QueryRFReg.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
It is a duplicate of macro PHY_SetRFReg.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This one is a duplicate of PHY_QueryBBReg.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
It is essentially a duplicate of macro PHY_SetBBReg
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Any routines that are empty as a result of these changes are also removed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The current kernels do not include this entry point. Delete the call.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
All of these routines are empty.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Each of the uses in the code asks for a sleep of 100 usec or so. On Linux,
these are converted to msleep(1).
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
A previous set of patches were test compiled with one of the configuration
variables not set. As a result, a number of unused variables were left in the
code.
In several instances, declaration of the unused variable was the only statement
inside ifdef .. endif pairs. In those cases, the entire block was removed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
A line in the P2P code had been removed in the process of converting the vendor
driver to a form suitable for the kernel. The output of this call was ignored,
and the initial analysis incorrectly determined that the call had no other
effect.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Each instance may bre replaced by udelay
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>