diff options
| author | Takashi Iwai <tiwai@suse.de> | 2017-08-02 18:11:45 +0300 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2017-08-02 18:11:45 +0300 | 
| commit | 5ef26e966d3fd105ad9a7e8e8f6d12c7fbd4c03d (patch) | |
| tree | dd5c2ce3daab2e398ab8c0fb852587b647131568 /lib/fault-inject.c | |
| parent | 3f3c371421e601fa93b6cb7fb52da9ad59ec90b4 (diff) | |
| parent | 60668a2dcafcf8aad0860f5a5c93eb2d7438052e (diff) | |
| download | linux-5ef26e966d3fd105ad9a7e8e8f6d12c7fbd4c03d.tar.xz | |
Merge tag 'asoc-fix-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v4.13
Quite a few fixes here that have been sent since the merge window, the
biggest one is the fix from Tony for some confusion with the device
property API which was causing issues with the of-graph card.  This is
fixed with some changes in the graph API itself as it seemed very likely
to be error prone.
Diffstat (limited to 'lib/fault-inject.c')
| -rw-r--r-- | lib/fault-inject.c | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/fault-inject.c b/lib/fault-inject.c index 4ff157159a0d..7d315fdb9f13 100644 --- a/lib/fault-inject.c +++ b/lib/fault-inject.c @@ -107,6 +107,15 @@ static inline bool fail_stacktrace(struct fault_attr *attr)  bool should_fail(struct fault_attr *attr, ssize_t size)  { +	if (in_task()) { +		unsigned int fail_nth = READ_ONCE(current->fail_nth); + +		if (fail_nth && !WRITE_ONCE(current->fail_nth, fail_nth - 1)) +			goto fail; + +		return false; +	} +  	/* No need to check any other properties if the probability is 0 */  	if (attr->probability == 0)  		return false; @@ -134,6 +143,7 @@ bool should_fail(struct fault_attr *attr, ssize_t size)  	if (!fail_stacktrace(attr))  		return false; +fail:  	fail_dump(attr);  	if (atomic_read(&attr->times) != -1)  | 
