Commit Graph

873808 Commits (d2cd795c4ece1a24fda170c35eeb4f17d9826cbb)

Author SHA1 Message Date
kbuild test robot 772775c1df net: lpc-enet: fix badzero.cocci warnings
drivers/net/ethernet/nxp/lpc_eth.c:1316:31-32: WARNING comparing pointer to 0

 Compare pointer-typed values to NULL rather than 0

Semantic patch information:
 This makes an effort to choose between !x and x == NULL.  !x is used
 if it has previously been used with the function used to initialize x.
 This relies on type information.  More type information can be obtained
 using the option -all_includes and the option -I to specify an
 include path.

Generated by: scripts/coccinelle/null/badzero.cocci

Link: https://lore.kernel.org/r/20190809144043.476786-9-arnd@arndb.de
Fixes: e42016eb3844 ("net: lpc-enet: allow compile testing")
Signed-off-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:54 +02:00
Arnd Bergmann ecca1a6277 net: lpc-enet: move phy setup into platform code
Setting the phy mode requires touching a platform specific
register, which prevents us from building the driver without
its header files.

Move it into a separate function in arch/arm/mach/lpc32xx
to hide the core registers from the network driver.

Link: https://lore.kernel.org/r/20190809144043.476786-8-arnd@arndb.de
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:52 +02:00
Arnd Bergmann 9dc03ffd99 net: lpc-enet: factor out iram access
The lpc_eth driver uses a platform specific method to find
the internal sram. This prevents building it on other machines.

Rework to only use one function call and keep the other platform
internals where they belong. Ideally this would look up the
sram location from DT, but as this is a rarely used driver,
I want to keep the modifications to a minimum.

Link: https://lore.kernel.org/r/20190809144043.476786-7-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:49 +02:00
Arnd Bergmann d88ce24a0f gpio: lpc32xx: allow building on non-lpc32xx targets
The driver uses hardwire MMIO addresses instead of the data
that is passed in device tree. Change it over to only
hardcode the register offset values and allow compile-testing.

Link: https://lore.kernel.org/r/20190809144043.476786-6-arnd@arndb.de
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Tested-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:07 +02:00
Arnd Bergmann 5711e41b68 serial: lpc32xx_hs: allow compile-testing
The only thing that prevents building this driver on other
platforms is the mach/hardware.h include, which is not actually
used here at all, so remove the line and allow CONFIG_COMPILE_TEST.

Link: https://lore.kernel.org/r/20190809144043.476786-5-arnd@arndb.de
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:04 +02:00
Arnd Bergmann 0a453d527b watchdog: pnx4008_wdt: allow compile-testing
The only thing that prevents building this driver on other
platforms is the mach/hardware.h include, which is not actually
used here at all, so remove the line and allow CONFIG_COMPILE_TEST.

Link: https://lore.kernel.org/r/20190809144043.476786-4-arnd@arndb.de
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:02 +02:00
Arnd Bergmann 50ad15282e usb: udc: lpc32xx: allow compile-testing
The only thing that prevents building this driver on other
platforms is the mach/hardware.h include, which is not actually
used here at all, so remove the line and allow CONFIG_COMPILE_TEST.

Link: https://lore.kernel.org/r/20190809144043.476786-3-arnd@arndb.de
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:32:59 +02:00
Arnd Bergmann 23565baece usb: ohci-nxp: enable compile-testing
The driver hardcodes a hardware I/O address the way one should
generally not do, and this prevents both compile-testing, and
moving the platform to CONFIG_ARCH_MULTIPLATFORM.

Change the code to be independent of the machine headers
to allow those two. Removing the hardcoded address would
be hard and is not necessary, so leave that in place for now.

Link: https://lore.kernel.org/r/20190809144043.476786-2-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:32:56 +02:00
Tejun Heo 6444f47eb8 writeback, cgroup: inode_switch_wbs() shouldn't give up on wb_switch_rwsem trylock fail
As inode wb switching may make sync(2) miss some inodes, they're
synchronized using wb_switch_rwsem so that no wb switching happens
while sync(2) is in progress.  In addition to synchronizing the actual
switching, the rwsem is also used to prevent queueing new switch
attempts while sync(2) is in progress.  This is to avoid queueing too
many instances while the rwsem is held by sync(2).  Unfortunately,
this is too agressive and can block wb switching for a long time if
sync(2) is frequent.

The goal is avoiding expolding the number of scheduled switches, not
avoiding scheduling anything.  Let's use wb_switch_rwsem only for
synchronizing the actual switching and sync(2) and use
isw_nr_in_flight instead for limiting the maximum number of scheduled
switches.  The limit is set to 1024 which should be more than enough
while still avoiding extreme situations.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-08-15 13:30:46 -06:00
Tejun Heo 55a694dffb writeback, cgroup: Adjust WB_FRN_TIME_CUT_DIV to accelerate foreign inode switching
WB_FRN_TIME_CUT_DIV is used to tell the foreign inode detection logic
to ignore short writeback rounds to prevent getting confused by a
burst of short writebacks.  The parameter is currently 2 meaning that
anything smaller than half of the running average writback duration
will be ignored.

This is unnecessarily aggressive.  The detection logic uses 16 history
slots and is already reasonably protected against some short bursts
confusing it and the current parameter can lead to tens of seconds of
missed detection depending on the writeback pattern.

Let's change the parameter to 8, so that it only ignores writeback
with are smaller than 12.5% of the current running average.

v2: Add comment explaining what's going on with the foreign detection
    parameters.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-08-15 13:30:44 -06:00
Colin Ian King b98052e9b5 USB: storage: isd200: remove redundant assignment to variable sendToTransport
The variable sendToTransport is being initialized with a value that is
never read and is being re-assigned a little later on. The assignment
is redundant and hence can be removed.

Addresses-Coverity: ("Unused value")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20190809173314.4623-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-15 21:30:14 +02:00
Heikki Krogerus 8f6244055b usb: typec: fusb302: Always provide fwnode for the port
By registering a software fwnode for the port when the
firmware does not supply one, we can always provide tcpm the
connector capabilities by using the common USB connector
device properties instead of using tcpc_config platform data.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20190814132419.39759-4-heikki.krogerus@linux.intel.com
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-15 21:30:12 +02:00
Heikki Krogerus c7316315a2 dt-bindings: usb: fusb302: Remove deprecated properties
There are no platforms using them anymore.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20190814132419.39759-3-heikki.krogerus@linux.intel.com
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-15 21:30:09 +02:00
Heikki Krogerus eceddc4071 usb: typec: fusb302: Remove unused properties
Removing the deprecated fusb302 specific properties. There
are no more platforms using them.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20190814132419.39759-2-heikki.krogerus@linux.intel.com
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-15 21:30:00 +02:00
Linus Torvalds a69e90512d Changes since last update:
- Fix crashes when the attr fork isn't present due to errors but inode
   inactivation tries to zap the attr data anyway.
 - Convert more directory corruption debugging asserts to actual
   EFSCORRUPTED returns instead of blowing up later on.
 - Don't fail writeback just because we ran out of memory allocating
   metadata log data.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAl1RlXoACgkQ+H93GTRK
 tOtc7A/+JIidhI/MHQLs7Ab9GW+PsHHBMSbVTV4Ge+SlfZtPNI38zrC1MC5LWvvV
 bndOpRjLm4nOJcB7fsoEWufTs1dKOIUjk2yQi8x47ZvE+B/RcA4b6IDhwpbAI8GW
 kt1RLNec9kpzhxCFFPzsXT9MwjEvvOvTeXfxaXTmiuB2kbJkR5dTlCUS2nUDnqsG
 FGdmOUDjy1uVfFcSrp75KT/iYaqW08cG+uY/eUHRm+YMUKI8hF1t+n8cDnSg96VX
 IN2DT1d3dTWiiF+JUZnMhVwJvPgV95DOf+yYy/F7qOcJUEmQ9tD6+0Ml/cI/AeLG
 zERxHXM9A9Jy8S+2xkvf0J/+HStwfviWNToK3pbMIM1ZsoMTi9q8VgbB3AaFiijf
 C4Q4T3W0jC44om8X/Ta/c+G/64Tj8yenzLDeTHvtQkoq77QPBam/aYjBc79oYvHi
 r+R61kHNto+YjJsRbkwgF/S+bzru1qY9Ccr0LJZrUkSzh4d6p94fbQc+NX4L2sv7
 WzAc+kOR/7qgVgy4gVr3ju0d89kP/Xn/0e0Ma0V8CSZlX5yg1dMLew5TJq693UYX
 xjLGD2ltOoFEN8e7/WXI0/ktvvSCAQalmz+sPgJvTlosUhpGXky85ced1PSrKiEV
 l0tREpmawDo9WVvC/06yBj97Op6PDdb4CovDcyLT6Yt3v1aBZT0=
 =ivN3
 -----END PGP SIGNATURE-----

Merge tag 'xfs-5.3-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull xfs fixes from Darrick Wong:

 - Fix crashes when the attr fork isn't present due to errors but inode
   inactivation tries to zap the attr data anyway.

 - Convert more directory corruption debugging asserts to actual
   EFSCORRUPTED returns instead of blowing up later on.

 - Don't fail writeback just because we ran out of memory allocating
   metadata log data.

* tag 'xfs-5.3-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  xfs: don't crash on null attr fork xfs_bmapi_read
  xfs: remove more ondisk directory corruption asserts
  fs: xfs: xfs_log: Don't use KM_MAYFAIL at xfs_log_reserve().
2019-08-15 12:29:36 -07:00
Jonathan Lemon 8d73f8f23e page_pool: fix logic in __page_pool_get_cached
__page_pool_get_cached() will return NULL when the ring is
empty, even if there are pages present in the lookaside cache.

It is also possible to refill the cache, and then return a
NULL page.

Restructure the logic so eliminate both cases.

Signed-off-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:27:36 -07:00
Linus Torvalds 4ec1fa692d Changes since last update:
- Update MAINTAINERS now that we've removed fs/iomap.c.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAl1UPLMACgkQ+H93GTRK
 tOvPVQ/+O9rOWD1udgyx3Qvn0mZhYgyKw8k3rHdZjRVV8fo5SIyS7cZRqi/B5WGf
 pRLHVWMGVeCiiRlJJzJLuD6tSJ04AOASO/VklRVbDpWkqRWqk3Hk8NiYt4KbgAcm
 P31I836I84L2qhfUN+EGemR7ByeH3XjSgNqRHRC60WiEs+gK5Em5loJfmohuBE29
 +XIlBusc84rN6SfP4xBpj/SL3U2XTDkXQX4ESXbU80mOypVqTJMsDv4YLBbWZcCT
 ZZ9HV35duUQFUC5t98Z+KQ4buwVeTvuXpzbxvZRnT5uMcQGPboH8NseyenNTJvI2
 YLMRoP9yQImxbhKTD+VTCzfVw6qGX7JrVMT0hYszK3uhSUNVUbD6ChhdeOHI5I+U
 BdD6t/pKsM/3k030jxrqrI/PMTPJRe2Pu1MKcK1qR7uptagUFBfVUVLz8uoXp4/U
 O/WOub72pLcbIJ2kCffknfvZkD7YnlB1qwNBHaMqdSZJp89ZL5zluXh58RvXv15e
 aU3UPzotC3qoCwz/CW5/R0oiUQeEs78jR91urKCGPaOQqRtgQatIccaxJqG9NsMz
 pHAY8Ouw8bx4q6Q1CNwrNVqVHJsh87pxvpBgw/VVGUhprwkNKaBG2UvVnu4CqkLN
 MW2KaI66dmCL+VbEK5ikPNF0YXXbQLDdtW4K/S3OIpW7H2IRgjo=
 =mOPT
 -----END PGP SIGNATURE-----

Merge tag 'iomap-5.3-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull iomap fixlet from Darrick Wong:
 "A single update to the MAINTAINERS entry for iomap now that we've
  removed fs/iomap.c"

* tag 'iomap-5.3-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  MAINTAINERS: iomap: Remove fs/iomap.c record
2019-08-15 12:15:45 -07:00
David S. Miller 0b24a44176 mlx5-fixes-2019-08-15
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEGhZs6bAKwk/OTgTpSD+KveBX+j4FAl1Vp+0ACgkQSD+KveBX
 +j76RwgAxYKiyXsvOvXTpRC1VrmOcrPw4Nr+UjL7CCKbY6f66rdFHdK5SuVphpEV
 zwsTyD5mMvYCD5+6oAAA2p9x65d7n6mrDvkGjBZ8RzSmAeavchOz0iHwBrc98IDF
 iPOeoCLcaLRTf1O+J4NHJwx1DgnLkImyNqIfe5Ce0oGoYoA7UeDXvzLQfXBAV8+b
 MPZcKv3U+++zg2QIX2d8L0h+5k1yO0PhqBX1uzHVmEMN3B7ZB7bm4oXryfXQIJIF
 +oylg9WjEc81CCEVFUAMrVZikfLWO4Qx/aHuBeYcn06n5Jdf2aUkh3SgW9YCk4KT
 DEExmv9RdYTkEymnltjEfklrMbUZWA==
 =bFyv
 -----END PGP SIGNATURE-----

Merge tag 'mlx5-fixes-2019-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

Saeed Mahameed says:

====================
Mellanox, mlx5 fixes 2019-08-15

This series introduces two fixes to mlx5 driver.

1) Eran fixes a compatibility issue with ethtool flash.
2) Maxim fixes a race in XSK wakeup flow.

Please pull and let me know if there is any problem.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:09:39 -07:00
David S. Miller 4b58c9b127 Merge branch 'rds-next'
Gerd Rausch says:

====================
net/rds: Fixes from internal Oracle repo

This is the first set of (mostly old) patches from our internal repository
in an effort to synchronize what Oracle had been using internally
with what is shipped with the Linux kernel.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:04:24 -07:00
Andy Grover 11740ef448 rds: check for excessive looping in rds_send_xmit
Original commit from 2011 updated to include a change by
Yuval Shaia <yuval.shaia@oracle.com>
that adds a new statistic counter "send_stuck_rm"
to capture the messages looping exessively
in the send path.

Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:04:24 -07:00
Gerd Rausch 55c70ca00c net/rds: Add a few missing rds_stat_names entries
In a previous commit, fields were added to "struct rds_statistics"
but array "rds_stat_names" was not updated accordingly.

Please note the inconsistent naming of the string representations
that is done in the name of compatibility
with the Oracle internal code-base.

s_recv_bytes_added_to_socket     -> "recv_bytes_added_to_sock"
s_recv_bytes_removed_from_socket -> "recv_bytes_freed_fromsock"

Fixes: 192a798f52 ("RDS: add stat for socket recv memory usage")
Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:04:24 -07:00
Chris Mason 356feaad4f RDS: don't use GFP_ATOMIC for sk_alloc in rds_create
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Bang Nguyen <bang.nguyen@oracle.com>
Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
Signed-off-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:04:24 -07:00
Chris Mason 65dedd7fe1 RDS: limit the number of times we loop in rds_send_xmit
This will kick the RDS worker thread if we have been looping
too long.

Original commit from 2012 updated to include a change by
Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
that triggers "must_wake" if "rds_ib_recv_refill_one" fails.

Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:04:24 -07:00
Arnaldo Carvalho de Melo 2f53ae347f perf top: Add --switch-on/--switch-off events
Just like 'perf trace' and 'perf script', should be useful for instance
to only consider samples after the initialization phase of some
workload.

The man page has some examples and considerations about its current
interface, that still doesn't handle the on/off events in a special way,
behaving just like when multiple events are specified, i.e.:

- In non-group mode (when the event list is not enclosed in {}) show a
  a menu to allow choosing which event the user wants to see in the
  histograms browser

- In group mode, be it using {} or asking for --group, show one column
  per event.

Try for instance:

  # perf top -e '{cycles,instructions,probe:icmp_rcv}' --switch-on=probe:icmp_rcv

Replace probe:icmp_rcv, that I put in place using:

  # perf probe icmp_rcv:59

To hit when broadcast packets arrive, with a probe installed after an
initialization phase is over or after some other point of interest, some
garbage collection, etc, and also use --switch-off, for instance, on a
probe installed after said garbage collection is over.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Florian Weimer <fweimer@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: William Cohen <wcohen@redhat.com>
Link: https://lkml.kernel.org/n/tip-c7q7qjeqtyvc9mkeipxza6ne@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-08-15 16:03:26 -03:00
David S. Miller 907389b747 Merge branch 'netdevsim-implement-support-for-devlink-region-and-snapshots'
Jiri Pirko says:

====================
netdevsim: implement support for devlink region and snapshots

Implement devlink region support for netdevsim and test it.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:02:44 -07:00
Jiri Pirko 5156d7ef6d selftests: netdevsim: add devlink regions tests
Test netdevsim devlink region implementation.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Tested-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:02:44 -07:00
Jiri Pirko 4418f862d6 netdevsim: implement support for devlink region and snapshots
Implement dummy region of size 32K and allow user to create snapshots
or random data using debugfs file trigger.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:02:44 -07:00
David S. Miller bd00cc363e Merge branch 'selftests-netdevsim-add-devlink-paramstests'
Jiri Pirko says:

====================
selftests: netdevsim: add devlink paramstests

The first patch is just a helper addition as a dependency of the actual
test in patch number two.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:01:22 -07:00
Jiri Pirko dc8a670a87 selftests: netdevsim: add devlink params tests
Test recently added netdevsim devlink param implementation.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Tested-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:01:22 -07:00
Jiri Pirko d87e5edb4c selftests: net: push jq workaround into separate helper
Push the jq return value workaround code into a separate helper so it
could be used by the rest of the code.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 12:01:21 -07:00
J. Bruce Fields dc46bba709 nfsd: use i_wrlock instead of rcu for nfsdfs i_private
synchronize_rcu() gets called multiple times each time a client is
destroyed.  If the laundromat thread has a lot of clients to destroy,
the delay can be noticeable.  This was causing pynfs test RENEW3 to
fail.

We could embed an rcu_head in each inode and do the kref_put in an rcu
callback.  But simplest is just to take a lock here.

(I also wonder if the laundromat thread would be better replaced by a
bunch of scheduled work or timers or something.)

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2019-08-15 14:53:02 -04:00
Tetsuo Handa d6846bfbee nfsd: fix dentry leak upon mkdir failure.
syzbot is reporting that nfsd_mkdir() forgot to remove dentry created by
d_alloc_name() when __nfsd_mkdir() failed (due to memory allocation fault
injection) [1].

[1] https://syzkaller.appspot.com/bug?id=ce41a1f769ea4637ebffedf004a803e8405b4674

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reported-by: syzbot <syzbot+2c95195d5d433f6ed6cb@syzkaller.appspotmail.com>
Fixes: e8a79fb14f ("nfsd: add nfsd/clients directory")
[bfields: clean up in nfsd_mkdir instead of __nfsd_mkdir]
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2019-08-15 14:53:00 -04:00
Yunsheng Lin 873343e7d4 page_pool: remove unnecessary variable init
Remove variable initializations in functions that
are followed by assignments before use

Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:50:37 -07:00
Heiner Kallweit b6cef26fb9 r8169: sync EEE handling for RTL8168h with vendor driver
Sync EEE init for RTL8168h with vendor driver and add two writes to
vendor-specific registers.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:49:43 -07:00
David S. Miller d700d26418 Merge branch 'realtek-EEE'
Heiner Kallweit says:

====================
net: phy: realtek: map vendor-specific EEE registers to standard MMD registers

EEE-related registers on newer integrated PHY's have the standard
layout, but are accessible not via MMD but via vendor-specific
registers. Emulating the standard MMD registers allows to use the
generic functions for EEE control and to significantly simplify
the r8169 driver.

v2:
- rebase patch 2
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:48:30 -07:00
Heiner Kallweit 2e779ddb56 r8169: use the generic EEE management functions
Now that the Realtek PHY driver maps the vendor-specific EEE registers
to the standard MMD registers, we can remove all special handling and
use the generic functions phy_ethtool_get/set_eee.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:48:30 -07:00
Heiner Kallweit 5b3f13950c net: phy: realtek: add support for EEE registers on integrated PHY's
EEE-related registers on newer integrated PHY's have the standard
layout, but are accessible not via MMD but via vendor-specific
registers. Emulating the standard MMD registers allows to use the
generic functions for EEE control.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:48:30 -07:00
Eran Ben Elisha f43d48d10a net/mlx5e: Fix compatibility issue with ethtool flash device
Cited patch deleted ethtool flash device support, as ethtool core can
fallback into devlink flash callback. However, this is supported only if
there is a devlink port registered over the corresponding netdevice.

As mlx5e do not have devlink port support over native netdevice, it broke
the ability to flash device via ethtool.

This patch re-add the ethtool callback to avoid user functionality breakage
when trying to flash device via ethtool.

Fixes: 9c8bca2637 ("mlx5: Move firmware flash implementation to devlink")
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2019-08-15 11:43:57 -07:00
Maxim Mikityanskiy e0d57d9c7e net/mlx5e: Fix a race with XSKICOSQ in XSK wakeup flow
Add a missing spinlock around XSKICOSQ usage at the activation stage,
because there is a race between a configuration change and the
application calling sendto().

Fixes: db05815b36 ("net/mlx5e: Add XSK zero-copy support")
Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2019-08-15 11:43:56 -07:00
Heiner Kallweit 2441ba4806 net: phy: swphy: emulate register MII_ESTATUS
When the genphy driver binds to a swphy it will call
genphy_read_abilites that will try to read MII_ESTATUS if BMSR_ESTATEN
is set in MII_BMSR. So far this would read the default value 0xffff
and 1000FD and 1000HD are reported as supported just by chance.
Better add explicit support for emulating MII_ESTATUS.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:43:48 -07:00
Heiner Kallweit 916e571eba net: phy: read MII_CTRL1000 in genphy_read_status only if needed
Value of MII_CTRL1000 is needed only if LPA_1000MSFAIL is set.
Therefore move reading this register.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:41:49 -07:00
Ka-Cheong Poon a46b5b6c27 net/rds: Add RDS6_INFO_SOCKETS and RDS6_INFO_RECV_MESSAGES options
Add support of the socket options RDS6_INFO_SOCKETS and
RDS6_INFO_RECV_MESSAGES which update the RDS_INFO_SOCKETS and
RDS_INFO_RECV_MESSAGES options respectively.  The old options work
for IPv4 sockets only.

Signed-off-by: Ka-Cheong Poon <ka-cheong.poon@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:40:03 -07:00
Florian Fainelli d6cc9ddd23 This pull request enables the new RPi cpufreq driver in the 64-bit
defconfig.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJdVaOPAAoJEFXEMs9xUwyNR0IP/29LoWiWfYs45c8TpvZuUjIn
 1W4q5qu44S0143NUX8byhHfdWcdyqw0l/c1WgANg945uShsYQAdtVwc6iO/YlFQg
 Scsvu/VArmVrGEKbyf03b1ICBThcXAnl0PFlfzECX2xxjfdZaPzF32vZCrBvhQgW
 o4J+RSOM8PZSHmXLGve08Z1Vb0d8lJsT17KCfHs0ut0MlH9wLz1EgqBMzi2mbkaA
 TNPjCixBUYNKf0SPqVEuRWep4UKfyCnBwOrjb4kwDQLEygVf8RHjTJZt+Ee0Igsm
 bPnZjYqk9NAd4vbFScIeL3wZiSOsJSrffkrY/Dolt84XWxPM9s3MqdAFF92GYlVz
 PVC6/lGL35ZVpg39FiMQq7+YHVHen3uXCrmAGlRjJjHsp29YXHo/+rWhfDve3O//
 SfOUa4XyOynfJbUQf6hh0wwM+ipUFPc/JWlDcQ1veON9NbvroBVLZV1KXqPKRJjY
 9r4SrIQlBKsKh4yE8ACHYQIRlJVobFMAeblqHtHy25RxxM5VLV7f8aFC0WwnVxxO
 plTTAwmiyTcdbnhK+nwy3zAMeSaeJ3eHM4Rk1KlngSvYNzLG6nSTjulM99y9lnR5
 SkKy4meE2upNzCoL5pTKBSygRGsL+h8xeNGyakZrxqa72kdQg+bYj00K5ClqjseS
 gK7O8XVLNIK3LSC8+Ra9
 =lB0D
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl1Vpq0ACgkQh9CWnEQH
 BwS0rw/8CwY85tW5sgtRli3oiFAI8kjxx04FMubmGxOBd+W7f16A8VF74U3jG96b
 CVLExDML07dMk1UPgP7hPOOimGOTkbcyjSS94S6z+DBGFdpdtDbafaNIxxu6L3ik
 H2kjyHAZ1d4BKj02um2xv3egMTZVL+q4ofpTYLSIDzxMa9iZcYQ6g51bMBzvQg4f
 JIwsfNC4KzG2nQGFoq/HViOH+ID1mXatH4zxuQdHtXF/HcWmCl+mQYGiXXRtKId1
 NerNIu735t5RiFo1zBKVeYwhkT9SL+f76LRIJxlAVmY/6Znm+Eg0Cn0BNyYJIpFv
 qRGHOum1bhWRk6bVjLJr2Si0tB2LFmQm4OTYFa3GUP2ZzG0Sosj18Fs0eFnwdQGA
 DKbGPBoP3jtvOhjsj7rH3kLIfq0fAZvs5a0KW3efuZRTd+ccI/f8p3YH87zq4MPZ
 yAZDPehDDl/38getXQgS/o3UA+L/S7wfMpVtC4SpUW/gNnXK5m0mGrFFrhc5nBLE
 +UhOAcdPrBk2VfKQM3r2iChefHQbZ2zGfvW4wwESBXOaohf16/01vmjblfsvKcQZ
 KwFg7EWK5WeExhptPsCutMQEOFfMPQ8EYwgd8p0KMVDN40WB5/00D5DCIoxzoDD2
 O3DS6YkROQaK6RHwBW81gnDsUT3Hz7GAD6htm92gqcboMMwBhCs=
 =FOq9
 -----END PGP SIGNATURE-----

Merge tag 'tags/bcm2835-defconfig-64-next-2019-08-15' into defconfig-arm64/next

This pull request enables the new RPi cpufreq driver in the 64-bit
defconfig.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2019-08-15 11:38:29 -07:00
Florian Fainelli c474106e1e This pull request enables the new RPi cpufreq driver in the 32-bit
defconfigs.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJdVaNbAAoJEFXEMs9xUwyNftgQAJFmQPmM85h4vcN2A62PENYc
 5GkuAfdrREWOBwmr9On3YFL1apNkibMXZd8Sk+0JCrpWFn51vFJIew5OBMiXR2Ia
 hAi8UuWkP7a2+uGWGB9kSqbfShUySsh7E5LyE10jgwU+1evxW/CT75U6ZHfxxZhh
 WtQ9kDGSYd9wETU7LthmM3II6a5/N1HkZJcTlyamfF861mWAVqxFHOTk7T5Eu1Pi
 D6q4uffiPYp2SLDAcrNNlcJKVsPzMSC1ZwU12/0iPVoWWma/DsoZF0rpisrpZOv4
 FZiFQSi0kaVFpVqHowJVKl42e2vyNkQ6sdDX5ZrwHOyhWGKO3sAioCHlOyzfedDz
 gLdsC2OEWtn/YW4abqxwKKPWf5adXyLAaRvPFO04rvdKS5/fqydLjfrmlAHe9avx
 KFT8qUO8lhHkzdAbulKKIQZb6e9Y/EdcqSfNsCtucLp69Vuk5nMiCeHs5/QhVCc9
 unFepkib2VtA0Wr1bX8RgAGRSRd7g5eJn3vr7hmNQ8rfSFweiPa/XCN3fG7k5/SW
 lfqy6wiNzaJV3T30SIBgn+3TKFhZjbCTVGGP7CeDhJxU3n9PS5ZSHbC5BOvu4qGr
 2OF3nJ2jRe7UBr0AePLZYGV+hJ/9kYO3CftORoXN2mIzXPn6Z1k0CFDrtXfdg9R5
 FOT6ngr3YQvJgr0iNQ7N
 =51xe
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl1VposACgkQh9CWnEQH
 BwTWfQ/8DV8wQnohuKXDJT05K+jzNb8ItRf5qtGczXfBWACAK8dVsNVObvc/M0ud
 ThTnlXZql6CUcKcU5Z8KmcWgaISjQeUg7+mISHOelgyyst4A5Ay3c1+9h4UPJyOB
 Muz/uMK9bb4xVlIXYlqyLfWdR2l4YhoYOHpBYJI1Wp/Dg+7Ce6pnTPTGypcAKGD+
 cZr76ncWloD0fA1H7U1G8lHUYepnZRhVHOXXaCIyz3J+OTMBdizruUEOCMnkUxzS
 22bIiS8kpe0lbXzkdGlajVVtC1CbtNlIUt90dVIjtypdfkBt7WqxbkRodtOuW7lG
 //nIiMGtOHZtsX6twC32+Lq5j7sv3UY4hcQk/YuwYUGuoarOkkIRcNpwSt5QAlYj
 wWOXaxF6nByfIWC33dxIArMK5oW+1EeBhk9EPDBi1AMUkHN0RRmFQS60yTEEpC0h
 gtAl/OKddXg1e5kPFEU9jhurjT5wc5ZNt1o470AoN1bEgG4otgigCimw0f2gTyG1
 DSWLltGU07vb02SmDfi7CrPOwcQEOThOgIlcuYLNTqCgR0WJRh2sXruMwOuRBBse
 pyXlSYpLvOfzi/edKRXWVmASIEK4S4zbCtzRR61QIYEwN9xJ/2PEwGla9X6Kt19w
 gj5DVcZaLxuN95F1D56RQ4IVH+dbjypgRiTur87zYLAdjy96GS0=
 =/hWG
 -----END PGP SIGNATURE-----

Merge tag 'tags/bcm2835-defconfig-next-2019-08-15' into defconfig/next

This pull request enables the new RPi cpufreq driver in the 32-bit
defconfigs.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2019-08-15 11:37:54 -07:00
Florian Fainelli f1bace1efd This pull request prepares the BCM2835 DTS files for the introduction
of the new SoC BCM2711.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJdVaIfAAoJEFXEMs9xUwyNhmAQAKZ3d5N3fkVYrY68pwz6vrP7
 b+lBcigss2OrtBekaPQQuIan3Wxf5+8SsDPBnYJcFqon0maHdb8FBjmrdCSnqFqL
 SnbJKgjHi71kgmsi03zn63yz1gMPGnWhBTms5Cs6B+OqCexnP0o9f19OHjyojaN9
 I1JReYjipFd4/4xWEI1Q3pSbFnlW/Fq/Z6mWMGt8BP7v0xwAb9tBhczoetTx6gu6
 fuArsouZKLlkv2vwhSBSIqXP3OhpA0ztWTfs3w01HBcdMQPfNgGmyhPvielFCi93
 /58B6LiFyTO/UlKZTEX6i8beA/p9XNrqIs6+4ljm/rv/XSN8BHPl7Pn9pRD6tsJ3
 /Sy8umPVKf8zUs9bqM+GRsikTPyxKwXKo2nHaJil4iKSkPQHRXWXYRfgsLdDs9bJ
 etckn5Fe8ge4iB6vLsPzQd/04UGmx+68pM7J7/T0m4RANikXhLWsEunnjUaG+6L1
 UlAIVzIes88i7HdKo0qR7dnJckKmYlvNTYz6vG/2V4DzGNVo01EwonnAf75pI2FX
 I30aEDZM+M+6i7aUwKF26qN35SAr5rRvVSkHpG4oY6VOtzP4qTx0MlNpQ/P1EB9G
 mXJY6TIWY7g+fwTeK2baUYKI5fzRUQ5OQJPYqRjx5LAdF/4c6UOlsr6FyHtFmWdQ
 t6Yf1ANftVQu0pxNb3rp
 =8QpO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl1VpmsACgkQh9CWnEQH
 BwTHAQ//a4IOj6bo67jnW4wFZ3LGcMJvG7KxH5jNfovJlympxKN4dqUIwf3EezZO
 qqER8bb894HlFZybQXys+NATgmaRJqCyTubLvpvgRH7bcvWOSX5ekPyy7ZNLr3Ih
 3xYvYr3Q2XG2bgJ6pJf6sOWDThDAi16CHc6HOd5OTi+pa7ZXqFweJp7NaRg62nyq
 1dcfG8W6aBipDUcHibRpiLRmfoImaowEGFCoErAChtvNkS2hvfzCmHH4WkvrD0Bc
 mQD6GDm4T8+tQV7SAqd+npPWAkbx4ZhMrzJlPCx0/mNRCI1dpGxEcA72EsUUGMCs
 t7uiWw/2BkQOvwpBBDSnFBMuVvdg53uESO1FEAnAw6XCfa/4q2CsXBz2b6KTmPCK
 FEmxjnH+S6g2TGLIgELNEupbfSBeZU/4gduhiiZ8qj1uXIJF/nTPBBwIIzPl2sxh
 Rj82KdanS9WeGIBRe74NThCvJGPkJBIp2/+zB2bP+DUICmX6pkXxBLbdpGOPxKPm
 5G+DuQMMQdc3hqnKLAaNUng0+iGQ9CRtG+OzJ2+s+OIa7movNjhuMlaI4X6wdoKr
 lWqqIDjMQhSPfYEV+yfM14WETBZf1daZ4dJdINedceN8x21da/Y2/DniTKKlvVht
 uE3tTcGWFoC2xgBeu2TGTG3+e6kJEgYh6LF5VGtmY/1rkJncW9U=
 =+6lf
 -----END PGP SIGNATURE-----

Merge tag 'tags/bcm2835-dt-next-2019-08-15' into devicetree/next

This pull request prepares the BCM2835 DTS files for the introduction
of the new SoC BCM2711.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2019-08-15 11:37:14 -07:00
Anders Roxell 2aafdf5a57 selftests: net: tcp_fastopen_backup_key.sh: fix shellcheck issue
When running tcp_fastopen_backup_key.sh the following issue was seen in
a busybox environment.
./tcp_fastopen_backup_key.sh: line 33: [: -ne: unary operator expected

Shellcheck showed the following issue.
$ shellcheck tools/testing/selftests/net/tcp_fastopen_backup_key.sh

In tools/testing/selftests/net/tcp_fastopen_backup_key.sh line 33:
        if [ $val -ne 0 ]; then
             ^-- SC2086: Double quote to prevent globbing and word splitting.

Rework to do a string comparison instead.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-15 11:34:32 -07:00
Pankaj Dubey 1fa70c7f49 ARM: exynos: Enable exynos-chipid driver
As now we have Chipid driver to initialize and expose SoC related
information let's include it in build by default.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-08-15 20:29:58 +02:00
Sylwester Nawrocki 40d8aff614 soc: samsung: chipid: Convert exynos-chipid driver to use the regmap API
Convert the driver to use regmap API in order to allow other
drivers, like ASV, to access the CHIPID registers.

Add definition of selected CHIPID register offsets and register bit
fields for Exynos5422 SoC.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-08-15 20:25:25 +02:00
Pankaj Dubey 3253b7b7cd soc: samsung: Add exynos chipid driver support
Exynos SoCs have Chipid, for identification of product IDs and SoC
revisions. This patch intends to provide initialization code for all
these functionalities, at the same time it provides some sysfs entries
for accessing these information to user-space.

This driver uses existing binding for exynos-chipid.

Changes by Bartlomiej:
- fixed return values on errors
- removed bogus kfree_const()
- added missing Exynos4210 EVT0 id
- converted code to use EXYNOS_MASK define
- fixed np use after of_node_put()
- fixed too early use of dev_info()
- made driver fail for unknown SoC-s
- added SPDX tag
- updated Copyrights

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
[m.szyprowski: for suggestion and code snippet of product_id_to_soc_id]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
[s.nawrocki: updated copyright date, removed uneeded headers inclusion]
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-08-15 20:17:11 +02:00
Linus Walleij b552addc45 ARM: samsung: Include GPIO driver header
This file is using struct gpio_chip and needs to include
<linux/gpio/driver.h> to get that.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-08-15 20:15:46 +02:00