From: Eddie James <eajames@linux.vnet.ibm.com>
To: openbmc@lists.ozlabs.org
Cc: joel@jms.id.au, andrew@aj.id.au, "Edward A. James" <eajames@us.ibm.com>
Subject: [PATCH linux dev-4.10 v4 00/31] drivers: fsi: client fixes and refactor
Date: Thu, 5 Oct 2017 21:05:22 -0500 [thread overview]
Message-ID: <1507255553-13301-1-git-send-email-eajames@linux.vnet.ibm.com> (raw)
From: "Edward A. James" <eajames@us.ibm.com>
This series refactors the FSI client device drivers. It adds a number of fixes
discovered from bugs over the past several months. Most critically, it fixes
various race conditions in the unbind/remove pathway of the occ-hwmon, occ,
and sbefifo drivers.
Apologies for spamming the list with so many patches...
Changes since v3:
* switch checks for OCC client NULL to the common read/write/close functions.
* add helper function for ugly wait_event_interruptible in OCC read().
* removed useless check for cancel in occ open().
Changes since v2:
* split "General clean-up" patches into many more patches
* Change to wake_up_all() in various places
* Set sbe pointer NULL and add check in occ-hwmon. For race safety.
Changes since v1:
* split into multiple patches.
* add memory management patch.
Edward A. James (31):
drivers: fsi: sbefifo: Fix includes
drivers: fsi: sbefifo: Use a defined reschedule length
drivers: fsi: sbefifo: Use __be32 for big endian values
drivers: fsi: sbefifo: white space fixes
drivers: fsi: sbefifo: replace awkward wait_event expression
drivers: fsi: sbefifo: remove redundant function
drivers: fsi: sbefifo: Use goto to reduce put statements
drivers: fsi: sbefifo: Do an earlier get_client call
drivers: fsi: sbefifo: Remove warning and user data access check
drivers: fsi: sbefifo: destroy the ida list on exit
drivers: fsi: sbefifo: Fix module authors and comments
drivers: fsi: sbefifo: Fix include guards in header file
drivers: fsi: SBEFIFO: Fix probe() and remove()
drivers: fsi: SBEFIFO: check for xfr complete in read wait_event
drivers: fsi: occ: Fix includes
drivers: fsi: occ: Fix errant kfree calls
drivers: fsi: occ: remove unused occ_command structure
drivers: fsi: occ: Use big-endian values
drivers: fsi: occ: Return ENODEV if client is NULL
drivers: fsi: occ: Remove early user buffer checking
drivers: fsi: occ: Switch to more logical errnos
drivers: fsi: occ: fix white space and bracket problems
drivers: fsi: occ: Destroy the ida list on exit
drivers: fsi: occ: Remove unnecessary platform_set_drvdata call
drivers: fsi: occ: Add comments for clarity
drivers: fsi: occ: Add OCC response definitions to header
drivers: fsi: occ: Poll while receiving "command in progress"
drivers: fsi: occ: Add cancel to remove() and fix probe()
drivers: fsi: occ: Fix client memory management
drivers/hwmon/occ: Remove repeated ops for OCC command in progress
drivers: hwmon: occ: Cancel occ operations in remove()
drivers/fsi/fsi-sbefifo.c | 311 +++++++++++++++++++++------------------
drivers/fsi/occ.c | 345 ++++++++++++++++++++++++++------------------
drivers/hwmon/occ/p9_sbe.c | 47 +++---
include/linux/fsi-sbefifo.h | 6 +-
include/linux/occ.h | 20 ++-
5 files changed, 426 insertions(+), 303 deletions(-)
--
1.8.3.1
next reply other threads:[~2017-10-06 2:06 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-06 2:05 Eddie James [this message]
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 01/31] drivers: fsi: sbefifo: Fix includes Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 02/31] drivers: fsi: sbefifo: Use a defined reschedule length Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 03/31] drivers: fsi: sbefifo: Use __be32 for big endian values Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 04/31] drivers: fsi: sbefifo: white space fixes Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 05/31] drivers: fsi: sbefifo: replace awkward wait_event expression Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 06/31] drivers: fsi: sbefifo: remove redundant function Eddie James
2017-10-06 2:09 ` Andrew Jeffery
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 07/31] drivers: fsi: sbefifo: Use goto to reduce put statements Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 08/31] drivers: fsi: sbefifo: Do an earlier get_client call Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 09/31] drivers: fsi: sbefifo: Remove warning and user data access check Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 10/31] drivers: fsi: sbefifo: destroy the ida list on exit Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 11/31] drivers: fsi: sbefifo: Fix module authors and comments Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 12/31] drivers: fsi: sbefifo: Fix include guards in header file Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 13/31] drivers: fsi: SBEFIFO: Fix probe() and remove() Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 14/31] drivers: fsi: SBEFIFO: check for xfr complete in read wait_event Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 15/31] drivers: fsi: occ: Fix includes Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 16/31] drivers: fsi: occ: Fix errant kfree calls Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 17/31] drivers: fsi: occ: remove unused occ_command structure Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 18/31] drivers: fsi: occ: Use big-endian values Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 19/31] drivers: fsi: occ: Return ENODEV if client is NULL Eddie James
2017-10-06 2:12 ` Andrew Jeffery
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 20/31] drivers: fsi: occ: Remove early user buffer checking Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 21/31] drivers: fsi: occ: Switch to more logical errnos Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 22/31] drivers: fsi: occ: fix white space and bracket problems Eddie James
2017-10-06 2:14 ` Andrew Jeffery
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 23/31] drivers: fsi: occ: Destroy the ida list on exit Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 24/31] drivers: fsi: occ: Remove unnecessary platform_set_drvdata call Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 25/31] drivers: fsi: occ: Add comments for clarity Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 26/31] drivers: fsi: occ: Add OCC response definitions to header Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 27/31] drivers: fsi: occ: Poll while receiving "command in progress" Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 28/31] drivers: fsi: occ: Add cancel to remove() and fix probe() Eddie James
2017-10-06 2:16 ` Andrew Jeffery
2017-10-09 1:05 ` Brad Bishop
2017-10-09 1:53 ` Joel Stanley
2017-10-09 14:58 ` Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 29/31] drivers: fsi: occ: Fix client memory management Eddie James
2017-10-06 2:20 ` Andrew Jeffery
2017-10-09 15:38 ` Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 30/31] drivers/hwmon/occ: Remove repeated ops for OCC command in progress Eddie James
2017-10-06 2:05 ` [PATCH linux dev-4.10 v4 31/31] drivers: hwmon: occ: Cancel occ operations in remove() Eddie James
2017-10-06 2:26 ` Andrew Jeffery
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1507255553-13301-1-git-send-email-eajames@linux.vnet.ibm.com \
--to=eajames@linux.vnet.ibm.com \
--cc=andrew@aj.id.au \
--cc=eajames@us.ibm.com \
--cc=joel@jms.id.au \
--cc=openbmc@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.