Added annotation '__must_hold' to function ksocknal_send_keepalive_locked
which unlocks the lock ksocknal_data.ksnd_global_lock. As this lock is
not acquired in the current function, sparse warns about context imbalance
Signed-off-by: Niranjan Dighe
---
On Sat, Jan 02, 2016 at 06:59:16PM -0600, Serge E. Hallyn wrote:
> On Sat, Jan 02, 2016 at 01:50:49PM -0800, Jeremiah Mahler wrote:
> > Serge,
> >
> > On Sat, Jan 02, 2016 at 12:24:16PM -0600, Serge E. Hallyn wrote:
> > [...]
> > >
> > > Tried to reproduce with setting
On Fri, Jan 1, 2016 at 2:19 PM, Tony Luck wrote:
> Somehow this didn't get sent ... found it in the "Drafts" folder. But
> it's rubbish, skip to the
> bottom.
>
> On Thu, Dec 31, 2015 at 12:30 PM, Tony Luck wrote:
>> I switched to BIAS 0xC000 ...
On Sat, Jan 02, 2016 at 08:50:11PM +0100, Arnd Bergmann wrote:
> gcc correctly warns that the ctx variable in ext4_set_encrypted_filename
> has gone out of scope in ext4_set_encrypted_filename if we enter the
> retry path and a 'goto' into the previous code block can not guarantee
> to get the
On Wed, Dec 30, 2015 at 12:11:19PM +0100, Julia Lawall wrote:
> The bma150_cfg structure is never modified, so declare it as const.
>
> Done with the help of Coccinelle.
>
> Signed-off-by: Julia Lawall
Applied, thank you.
>
> ---
> drivers/input/misc/bma150.c |2 +-
On Fri, Jan 01, 2016 at 10:59:08PM +0800, Geliang Tang wrote:
> Use to_delayed_work() instead of open-coding it.
>
> Signed-off-by: Geliang Tang
Applied, thank you.
> ---
> drivers/input/touchscreen/pcap_ts.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>
Replace all H_NO and some HOSTNO macros (both peculiar to atari_NCR5380.c)
with a new dsprintk macro that's more useful and more consistent. The new
macro avoids a lot of boilerplate in new code in subsequent patches. Keep
NCR5380.c in sync. Remaining HOSTNO macros are removed as side-effects
of
Print the command pointers in the log messages for debugging queue data
structures. The LIST and REMOVE macros can then be removed.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
Tested-by:
Make use of the shost_priv() helper. Remove HOSTDATA and SETUP_HOSTDATA
macros because they harm readability.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
Tested-by: Michael Schmitz
From: Ondrej Zary
Add I/O register mapping for NCR53C400A and enable PDMA mode to
improve performance and fix non-working IRQ.
Tested with HP C2502 (and user-space enabler).
Signed-off-by: Ondrej Zary
Signed-off-by: Finn Thain
Because of the rudimentary design of the chip, it is necessary to poll the
SCSI bus signals during PIO and this tends to hog the CPU. The driver will
accept new commands while others execute, and this causes a soft lockup
because the workqueue item will not terminate until the issue queue is
Introduce a new eh_abort_handler implementation. This one attempts to
follow all of the rules relating to EH handlers. There is still a known
bug: during selection, a command becomes invisible to the EH handlers
because it only appears in a pointer on the stack of a different thread.
This bug is
NCR5380_information_transfer() may re-queue a command for autosense,
after calling scsi_eh_prep_cmnd(). This creates several possibilities:
1. Reselection may intervene before the re-queued command gets processed.
If the reconnected command then undergoes autosense, this causes the
The CVS revision log is not nearly as useful as the history/history.git
repo, so remove it. Roman's commentary at the top of his driver repeats
the same information elsewhere in the file so remove it. Also remove
some other redundant or obsolete comments.
Both the driver and the datasheets
Some NCR5380 hosts offer a .show_info method to access the contents of
the various command list data structures from a procfs file. When NDEBUG
is set, the same information is sent to the console during EH.
The two core drivers, atari_NCR5380.c and NCR5380.c differ here. Because
it is just for
During arbitration and selection, the relevant command is invisible to
exception handlers and can be found only in a pointer on the stack of a
different thread.
When eh_abort_handler can't find a given command, it can't decide whether
that command was completed already or is still in arbitration
Remove multiple blank lines. Problem found using checkpatch.pl
"CHECK: Please don't use multiple blank lines"
Signed-off-by: Benoit Hiller
---
drivers/staging/xgifb/XGI_main_26.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/staging/xgifb/XGI_main_26.c
Printing command pointers can be useful when debugging queues. Other than
that, the LIST and REMOVE macros are just clutter. These macros are
redundant now that NDEBUG_QUEUES causes pointers to be printed, so remove
them.
Signed-off-by: Finn Thain
Reviewed-by: Hannes
Remove the HOSTNO macro that is peculiar to atari_NCR5380.c and
contributes to the problem of divergence of the NCR5380 core drivers.
Keep NCR5380.c in sync.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
From: Ondrej Zary
Pseudo-DMA (PDMA) has been broken for ages, resulting in hangs on
53C400-based cards.
According to 53C400 datasheet, PDMA transfer length must be a multiple
of 128. Check if that's true and use PIO if it's not.
This makes PDMA work on 53C400 (Canon
Allocate a work queue that will permit busy waiting and sleeping. This
means NCR5380_init() can potentially fail, so add this error path.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
If NCR5380_select() returns -1, it means arbitration was lost or selection
failed and should be retried. If the main loop simply terminates when there
are still commands on the issue queue, they will remain queued until they
expire.
Fix this by clearing the 'done' flag after selection failure or
This ixgbe_mbx_operations structure is never modified, so declare it as
const. The other structure of this type is already const.
Done with the help of Coccinelle.
Signed-off-by: Julia Lawall
---
drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c |2 +-
This patch is the result of the following substitution. It removes any
tabs and spaces at the end of a line.
perl -i -pe 's,[\t ]+$,,' drivers/scsi/{atari_,}NCR5380.c
This removes some unimportant discrepancies between the two core driver
forks so that the important ones become obvious, to
From: Ondrej Zary
HP C2502 cards (based on 53C400A chips) use different magic numbers for
software-based I/O address configuration than other cards.
The configuration is also extended to allow setting the IRQ.
Move the configuration to a new function
In the past, NCR5380.c was overlooked by those working on atari_NCR5380.c
and this caused needless divergence. All of the changes in this patch were
taken from atari_NCR5380.c.
This removes some unimportant discrepancies between the two core driver
forks so that 'diff' can be used to reveal the
From: Ondrej Zary
Convert compile-time C400_ register mapping to runtime mapping.
This removes the weird negative register offsets and allows adding
additional mappings.
While at it, convert read/write loops into insb/outsb.
Signed-off-by: Ondrej Zary
From: Ondrej Zary
The check for 53C80 registers accessibility was commented out because
it was broken (inverted). Fix and enable it.
Signed-off-by: Ondrej Zary
Signed-off-by: Finn Thain
Reviewed-by: Hannes
Hanging indentation was a poor choice for the text inside comments. It
has been used in the wrong places and done badly elsewhere. There is
little consistency within any file. One fork of the core driver uses
tabs for this indentation while the other uses spaces. Better to use
flush-left alignment
This refactoring removes two global Scsi_Host pointers. This
improves consistency with other ncr5380 drivers. Adopting the same
conventions as the other drivers makes them easier to read.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Replace {P,T,DTC}DEBUG_INIT with NDEBUG_INIT. Remove dead debugging
code, including code that's conditional upon *DEBUG_TRANSFER.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
---
drivers/scsi/dtc.c | 18 ++
Keep the two core driver forks in sync.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
Tested-by: Michael Schmitz
---
drivers/scsi/NCR5380.c | 71
In the past, atari_NCR5380.c was overlooked by those working on NCR5380.c
and this caused needless divergence. All of the changes in this patch were
taken from NCR5380.c.
This removes some unimportant discrepancies between the two core driver
forks so that 'diff' can be used to reveal the
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
Tested-by: Michael Schmitz
---
drivers/scsi/NCR5380.c | 30 +++---
NCR5380.c lacks a sane eh_bus_reset_handler. The atari_NCR5380.c code is
much better but it should not throw out the issue queue (that would be
a host reset) and it neglects to set the result code for commands that it
throws out. Fix these bugs and keep the two core drivers in sync.
From: Ondrej Zary
Add I/O register mapping for DTC chips and enable PDMA mode.
These chips have 16-bit wide HOST BUFFER register and it must be read
by 16-bit accesses (we lose data otherwise).
Large PIO transfers crash at least the DTCT-436P chip (all reads result
Linux v2.1.105 changed the algorithm for polling for the BSY signal
in NCR5380_select() and NCR5380_main().
Presently, this code has a bug. Back then, NCR5380_set_timer(hostdata, 1)
meant reschedule main() after sleeping for 10 ms. Repeated 25 times this
provided the recommended 250 ms selection
Remove the DEF_SCSI_QCMD macro (already removed from atari_NCR5380.c). The
lock provided by DEF_SCSI_QCMD is only needed for queue data structures.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
The atari_NCR5380.c and NCR5380.c core drivers differ in their handling of
target disconnection. This is partly because atari_NCR5380.c had all of
the polling and sleeping removed to become entirely interrupt-driven, and
it is partly because of damage done to NCR5380.c after atari_NCR5380.c was
Merge the bus reset code from NCR5380.c into atari_NCR5380.c. This allows
for removal of a lot of duplicated code conditional on the RESET_BOOT
macro (in the next patch).
The atari_NCR5380.c fork lacks the do_reset() and NCR5380_poll_politely()
routines from NCR5380.c, so introduce them. They are
According to the SCSI-2 draft revision 10L, atari_NCR5380.c is correct
when it says that the phase lines are valid up until ACK is negated
following the transmission of the last byte in MESSAGE IN phase. This is
true for all information transfer phases, from target to initiator.
Sample the phase
On Sun, 2016-01-03 at 08:00 +0100, SF Markus Elfring wrote:
> > > r = 0;
> > > -
> > > -err:
> > > +free_reply:
> > > kfree(reply);
> > > +free_cmd:
> > > kfree(cmd);
> > > -
> >
> > Why are you deleting the two blank lines here?
>
> Can they be unnecessary at this source
On Sun, 2016-01-03 at 03:41 +0200, Andrey Utkin wrote:
> (Disclaimer up to scissors mark)
>
> Please be so kind to take a look at a new driver.
trivial comments only:
> diff --git a/drivers/staging/media/tw5864/tw5864-bs.h
> b/drivers/staging/media/tw5864/tw5864-bs.h
[]
> +static inline int
Hi Aniroop,
On Thu, Dec 31, 2015 at 04:55:58AM +0530, Aniroop Mathur wrote:
> Input core already drops empty syn_report event so there is no need
> to check again for dropping empty syn_report event in evdev handler
> for all clients on every new event.
This reasoning is flawed: if all events
On Thu, Dec 31, 2015 at 03:36:47AM +0530, Aniroop Mathur wrote:
> This patch introduces concept to drop partial events in evdev handler
> itself after emptying the buffer which are dropped by all evdev
> clients in userspace after SYN_DROPPED occurs.
> This in turn saves space of partial events in
Implement a 'complete_cmd' function to complete commands. This is needed
by the following patch; the new function provides a site for the logic
needed to correctly handle REQUEST SENSE commands.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Add missing .module initializer. Use distinct .proc_name values for the
g_NCR5380 and g_NCR5380_mmio modules. Remove pointless CAN_QUEUE and
CMD_PER_LUN override macros. Cleanup whitespace and code style.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
The NCR5380 drivers have a home-spun linked list implementation for
scsi_cmnd structs that uses cmd->host_scribble as a 'next' pointer. Adopt
the standard list_head data structure and list operations instead. Remove
the eh_abort_handler rather than convert it. Doing the conversion would
only be
The NCR5380_local_declare and NCR5380_setup macros exist to define and
initialize a particular local variable, to provide the address of the
chip registers needed for the driver's implementation of its
NCR5380_read/write register access macros.
In cumana_1 and macscsi, these macros generate
Remove FLAG_DTC3181E. It was used to suppress a final Arbitration Lost
(SEL asserted) test that isn't actually needed. The test was suppressed
because it causes problems for DTC436 and DTC536 chips. It takes place
after the host wins arbitration, so SEL has been asserted. These chips
can't seem to
Still seeing these rcu_preempt stalls on kernels through to 4.4-rc7
Still have not found a sure fire method to evoke this stall, but have
found that it will normally occur within a week of running a kernel -
usually when it is quiet with light load.
Have seen similar self detected stalls all the
This patch splits the NCR5380_init() function into two parts, similar
to the scheme used with atari_NCR5380.c. This avoids two problems.
Firstly, NCR5380_init() may perform a bus reset, which would cause the
chip to assert IRQ. The chip is unable to mask its bus reset interrupt.
Drivers can't
When a target reports a QUEUE_FULL condition it causes the driver to
update the 'queue_size' limit with the number of currently allocated tags.
At least, that's what's supposed to happen, according to the comments.
Unfortunately the terms in the assignment are swapped. Fix this and
cleanup some
NCR5380.c is not compliant with the SCSI-2 standard (at least, not with
the draft revision 10L that I have to refer to). The selection algorithm
in atari_NCR5380.c is correct, so use that.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Remove the restart_select and targets_present variables introduced in
Linux v1.1.38. The former was used only for a questionable debug printk
and the latter "so we can call a select failure a retryable condition".
Well, retrying select failure in general is a different problem to a
target that
Follow the example of the atari_NCR5380.c core driver and adopt the
NCR5380_dma_xfer_len() hook. Implement NCR5380_dma_xfer_len() for dtc.c
and g_NCR5380.c to take care of the limitations of these cards. Keep the
default for drivers using PSEUDO_DMA.
Eliminate the unused macro LIMIT_TRANSFERSIZE.
Linux 2.1.105 introduced the USLEEP_WAITLONG delay, apparently "needed for
Mustek scanners". It is intended to stall the issue queue for 5 seconds.
There are a number of problems with this.
1. Only g_NCR5380 enables the delay, which implies that the other five
drivers using the NCR5380.c core
When in process context, sleep during polling if doing so won't add
significant latency. In interrupt context or if the lock is held, poll
briefly then give up. Keep both core drivers in sync.
Calibrate busy-wait iterations to allow for variation in chip register
access times between different
Commit 8b801ead3d7a ("[ARM] rpc: update Acorn SCSI drivers to modern ecard
interfaces") neglected to remove a request_region() call in cumana_1.c.
Commit eda32612f7b2 ("[PATCH] give all LLDD driver a ->release method") in
history/history.git added some pointless release_region() calls in dtc.c,
On Sun, Jan 03, 2016 at 03:41:42AM +0200, Andrey Utkin wrote:
> +/*
> + * TW5864 driver - Exp-Golomb code functions
> + *
> + * Copyright (C) 2015 Bluecherry, LLC
> + * Copyright (C) 2015 Andrey Utkin
I doubt that you have
On Sun, Jan 03, 2016 at 04:29:11PM +1100, Ross Green wrote:
> Still seeing these rcu_preempt stalls on kernels through to 4.4-rc7
>
> Still have not found a sure fire method to evoke this stall, but have
> found that it will normally occur within a week of running a kernel -
> usually when it is
Hi,
My name is Jeffrey Skoll, a philanthropist and the founder of one of the
largest private foundations in the world. I believe strongly in ‘giving while
living.’ I had one idea that never changed in my mind — that you should use
your wealth to help people and I have decided to secretly give
On Sun, 2016-01-03 at 16:06 +1100, Finn Thain wrote:
> Hanging indentation was a poor choice for the text inside comments. It
> has been used in the wrong places and done badly elsewhere. There is
> little consistency within any file. One fork of the core driver uses
> tabs for this indentation
The host spin lock needs to be acquired by NCR5380_abort() before it calls
NCR5380_select(). This patch doesn't actually fix the EH issues in this
driver but it does avoid this:
BUG: spinlock already unlocked on CPU#0, kworker/u4:1/14
lock: 0xc0c0f834, .magic: dead4ead, .owner: /-1, .owner_cpu:
Like my previous work on the NCR5380 drivers, this patch series has bug
fixes, code cleanup and modernization. These drivers suffer from mistakes,
poor style and neglect and this long series addresses the worst of it,
covering all ten wrapper drivers and both of the core driver forks. The
From: Hannes Reinecke
Some old drivers partially implemented support for linked commands using
a "proposed" next_link pointer in struct scsi_cmnd that never actually
existed. Remove this code.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
The aborted flag was introduced in v1.1.38 but never used. Remove it.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
Tested-by: Michael Schmitz
---
Make use of do_reset() in the bus reset handler in atari_NCR5380.c. The
version in NCR5380.c already does so. Keep them in sync.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
Tested-by: Ondrej Zary
Tested-by:
MESSAGE REJECT does not imply DISCONNECT: the target is about to enter
MESSAGE IN or MESSAGE OUT phase.
This bug fix comes from atari_NCR5380.c. Unfortunately it never made it
into the original NCR5380.c core driver.
Signed-off-by: Finn Thain
Reviewed-by: Hannes
The atari_NCR5380.c core driver now takes care of bus reset upon driver
initialization if required (same as NCR5380.c). Move the Toshiba CD-ROM
support into the core driver, enabled with a host flag, so that all
NCR5380 drivers can make use of it.
Drop the RESET_BOOT macros and the
So booting into a next-20151222 kernel, I can mount an external drive
that uses cryptLuks. I try -1231, and I get this failure:
Failed to setup dm-crypt key mapping for device /dev/sdb2.
Check that kernel supports aes-cbc-essiv:sha256 cipher (check syslog for more
info).
Tracked it down to
Each host instance now has it's own work queue so the main() work item can
sleep when necessary. That means we can use a simple work item rather than
a delayed work item. This brings NCR5380.c closer to atari_NCR5380.c.
Signed-off-by: Finn Thain
Reviewed-by: Hannes
NCR5380_poll_politely() never returns -1. That means do_abort() can fail
to handle a timeout after waiting for the target to negate REQ. Fix this
and cleanup other NCR5380_poll_politely() call sites.
Signed-off-by: Finn Thain
Reviewed-by: Hannes Reinecke
>> r = 0;
>> -
>> -err:
>> +free_reply:
>> kfree(reply);
>> +free_cmd:
>> kfree(cmd);
>> -
>
> Why are you deleting the two blank lines here?
Can they be unnecessary at this source code place
according to the Linux coding style convention?
Regards,
Markus
--
To
401 - 474 of 474 matches
Mail list logo