summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-10-24target: simplify target_parse_naa_6h_vendor_specific()Andy Shevchenko
This patch adds a minor simplfication in target_parse_naa_6h_vendor_specific() to remove direct isxdigit() + ctype.h usage. (nab: Fix next assignment breakage in for loop) Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Nicholas Bellinger <nab@linux-iscsi.org> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: Remove session_reinstatement parameter from ->transport_wait_for_tasksNicholas Bellinger
This patch removes the unnecessary session_reinstatement parameter from se_cmd->transport_wait_for_tasks(), logic in transport_generic_wait_for_tasks, and usage within iscsi-target code. This also includes the removal of the 'bool' return from transport_put_cmd() + transport_generic_free_cmd() that is no longer necessary. Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: push session reinstatement out of transport_generic_free_cmdChristoph Hellwig
Push session reinstatement out of transport_generic_free_cmd into the only caller that actually needs it. Clean up transport_generic_free_cmd a bit, and remove the useless comment. I'd love to add a more useful kerneldoc comment for it, but as this point I'm still a bit confused in where it stands in the command release stack. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: remove transport_generic_removeChristoph Hellwig
All callers that never have the session_reinstatement flag set can trivially be converted to transport_put_cmd. Opencode the session reinstatement code in transport_generic_free_cmd, which was the only caller ever asking for it. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: simplify transport_put_cmdChristoph Hellwig
Inline two simple functions only used by it, and replace a goto with a simple if else construct. Note that the code moved from transport_dec_and_check seems fairly buggy - the atomic_read check on a variable where we'd do an atomic_dec_and_test looks racy if we'll ever get someone increment it without the lock held around them (which it looks like we do), and not decrementing the second counter if the first one doesn't hit zero also at least needs an explanation. (nab: Fix transport_put_cmd breakage) Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: simplify transport_generic_removeChristoph Hellwig
Instead of duplicating the code from transport_release_fe_cmd re-use it by allowing transport_release_fe_cmd to return wether it actually freed the command or not. Also rename transport_release_fe_cmd to transport_put_cmd and add a kerneldoc comment for it to make the use case more obvious. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: remove transport_free_se_cmdChristoph Hellwig
It is only called by transport_release_cmd, so inline it there. Also add a kerneldoc comment for transport_release_cmd while we are at it. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: don't opencode transport_release_cmd in transport_release_fe_cmdChristoph Hellwig
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: remove transport_generic_handle_cdbChristoph Hellwig
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24iscsi-target: always call transport_handle_cdb_directChristoph Hellwig
iscsit_task_reassign_complete is always called from the TX thread, so handle the CDB directly instead of offloading it. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24tfm_fc: use transport_handle_cdb_directChristoph Hellwig
ft_send_work is always called from workqueue context, which means we can handle the CDB directly instead of doing another context switch. Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Kiran Patil <kiran.patil@intel.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24target: Prevent transport_send_task_abort when CHECK_CONDITION statusNicholas Bellinger
This patch fixes a bug where transport_send_task_abort() could be called during LUN_RESET to return SAM_STAT_TASK_ABORTED + tfo->queue_status(), when SCF_SENT_CHECK_CONDITION -> tfo->queue_status() has already been sent from within another context via transport_send_check_condition_and_sense(). Cc: stable@kernel.org Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
2011-10-24target: Fix transport_cmd_finish_abort queue removal bugNicholas Bellinger
This patch fixes a bug in LUN_RESET operation with transport_cmd_finish_abort() where transport_remove_cmd_from_queue() was incorrectly being called, causing descriptors with t_state == TRANSPORT_FREE_CMD_INTR to be incorrectly removed from qobj->qobj_list during process context release. This change ensures the descriptor is only removed via transport_remove_cmd_from_queue() when doing a direct release via transport_generic_remove(). Cc: stable@kernel.org Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
2011-10-24target: Prevent TRANSPORT_FREE_CMD_INTR processing in core_tmr_drain_cmd_listNicholas Bellinger
This patch contains a bugfix for TMR LUN_RESET related to TRANSPORT_FREE_CMD_INTR operation, where core_tmr_drain_cmd_list() will now skip processing for this case to prevent an ABORT_TASK status from being returned for descriptors that are already queued up to be released by processing thread context. Cc: Roland Dreier <roland@purestorage.com> Cc: Christoph Hellwig <hch@lst.de> Cc: stable@kernel.org Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
2011-10-24target: Re-org of core_tmr_lun_resetNicholas Bellinger
This patch is a re-orginzation of core_tmr_lun_reset() logic to properly scan the active tmr_list, dev->state_task_list and qobj->qobj_list w/ the relivent locks held, and performing a list_move_tail onto seperate local scope lists before performing the full drain. This involves breaking out the code into three seperate list specific functions: core_tmr_drain_tmr_list(), core_tmr_drain_task_list() and core_tmr_drain_cmd_list(). (nab: Include target: Remove non-active tasks from execute list during LUN_RESET patch to address original breakage) Reported-by: Roland Dreier <roland@purestorage.com> Cc: Roland Dreier <roland@purestorage.com> Cc: Christoph Hellwig <hch@lst.de> Cc: stable@kernel.org Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
2011-10-24target: Prevent cmd->se_queue_node double addRoland Dreier
This patch addresses a bug with the lio-core-2.6.git conversion of transport_add_cmd_to_queue() to use a single embedded list_head, instead of individual struct se_queue_req allocations allowing a single se_cmd to be added to the queue mulitple times. This was changed in the following: commit 2a9e4d5ca5d99f4c600578d6285d45142e7e5208 Author: Andy Grover <agrover@redhat.com> Date: Tue Apr 26 17:45:51 2011 -0700 target: Embed qr in struct se_cmd The problem is that some target code still assumes performing multiple adds is allowed via transport_add_cmd_to_queue(), which ends up causing list corruption in qobj->qobj_list code. This patch addresses this by removing an existing struct se_cmd from the list before the add, and removes an unnecessary list walk in transport_remove_cmd_from_queue() It also changes cmd->t_transport_queue_active to use explict sets intead of increment/decrement to prevent confusion during exception path handling. Signed-off-by: Roland Dreier <roland@purestorage.com> Cc: Andy Grover <agrover@redhat.com> Cc: stable@kernel.org Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
2011-10-23ARM: 7133/1: SMP: fix per cpu timer setup before the cpu is marked onlineThomas Gleinxer
The problem is related to the early enabling of interrupts and the per cpu timer setup before the cpu is marked online. This doesn't need to be done in order to call calibrate_delay(). calibrate_delay() monitors jiffies, which are updated from the CPU which is waiting for the new CPU to set the online bit. So simply calibrate_delay() can be called on the new CPU just from the interrupt disabled region and move the local timer setup after stored the cpu data and before enabling interrupts. This solves both the cpu_online vs. cpu_active problem and the affinity setting of the per cpu timers. Signed-off-by: Thomas Gleinxer <tglx@linutronix.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-10-23dm kcopyd: fix job_pool leakAlasdair G Kergon
Fix memory leak introduced by commit a6e50b409d3f9e0833e69c3c9cca822e8fa4adbb (dm snapshot: skip reading origin when overwriting complete chunk). When allocating a set of jobs from kc->job_pool, job->master_job must be set (to point to itself) so that the mempool item gets freed when the master_job completes. master_job was introduced by commit c6ea41fbbe08f270a8edef99dc369faf809d1bd6 (dm kcopyd: preallocate sub jobs to avoid deadlock) Reported-by: Michael Leun <ml@newton.leun.net> Cc: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2011-10-23staging: et131x: Remove redundant check and return statementMark Einon
In nic_send_packet(), by the time 'frag' is checked to be zero, it never is - the for loop has been entered (as nr_frags is always > 0) and frag has been incremented at least once. Remove the check and associated error return. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Mainly whitespace changes to appease checkpatchMark Einon
- Whitespace changes to appease checkpatch warnings - Removed unneeded braces around single line if/else Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove last of the forward declarationsMark Einon
Moved functions in et131x.c file to remove the forward declarations of: et131x_rx_dma_disable et131x_rx_dma_enable et131x_init_send et131x_tx_dma_enable Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove even more forward declarationsMark Einon
Moved functions in et131x.c file to remove the forward declarations of: et1310_in_phy_coma et1310_phy_access_mii_bit et131x_phy_mii_read et131x_mii_write et131x_rx_dma_memory_free Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove yet more forward declarationsMark Einon
Moved functions in et131x.c file to remove the forward declarations of: et1310_setup_device_for_multicast et1310_setup_device_for_unicast et131x_up et131x_down et131x_enable_txrx et131x_disable_txrx Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove more forward declarationsMark Einon
Moved functions in et131x.c file to remove the following forward declarations: et131x_soft_reset et131x_isr_handler et131x_device_alloc Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove forward declaration of et131x_adapter_setupMark Einon
Also associated function movements within et131x.c file Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove some forward declarationsMark Einon
Moved functions in et131x.c file to remove the following forward declarations: et131x_align_allocated_memory et131x_disable_interrupts et131x_enable_interrupts et131x_error_timer_handler Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove unused rx_ring.recv_packet_poolMark Einon
tx_ring.recv_packet_pool is unused, even in the original driver code. Removed. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove call to find pci pm capabilityMark Einon
pci_find_capability is called, but not used and is now redundant as power management is handled elsewhere. Removed. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove redundant et131x_reset_recv() callMark Einon
This call doesn't do anything useful - only warns on the receive list being empty, so removed it. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove unused rx_ring.recv_buffer_poolMark Einon
rx_ring.recv_buffer_pool is unused, even in the original driver code. Remove from stuct, and also remove some comments regarding it. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23Staging: bcm: Fix three initialization errors in InterfaceDld.cKevin McKinney
This patch fixes three initialization errors. One is an incorrect initialization of a static variable. The other two are incorrect initializations in an if statement. These errors were found by checkpatch.pl. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23Staging: bcm: Fix coding style issues in InterfaceDld.cKevin McKinney
This patch fixes multiple coding style issues in file, InterfaceDld.c, found by checkpatch.pl. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging:iio:dac: Add AD5360 driverLars-Peter Clausen
This patch adds support for the Analog Devices AD5360, AD5361, AD5362, AD5363, AD5370, AD5371, AD5372, AD5373 multi-channel digital-to-analog converters. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging:iio:trigger:bfin-timer: Fix compile errorLars-Peter Clausen
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23Staging: vt6655: add some range checks before memcpy()Dan Carpenter
There were no range checks in the original code so the user could write past the end of the array. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23Staging: vt6655: whitespace fixes to iotcl.cDan Carpenter
The indents didn't line up at all in the original code. I also fixed a bunch of other white issues as I went along. I changed the comment style and removed some commented out code. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23Staging: vt6656: add some range checks before memcpy()Dan Carpenter
We need to verify that we're not writing past the end of the array. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23Staging: vt6656: whitespace cleanups in ioctl.cDan Carpenter
The indents on this file didn't line up so it was hard to work with. I changed other white space issues as I came across them. I also deleted or changed some couple comments and the comment style. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Remove unused definesMark Einon
Some defines are no longer referenced in the code, so removed them. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Convert rest of pci memory management to dma apiMark Einon
Replaced pci map/unmap and set_mask calls with their dma equivalents. Also updated comments to reflect this. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: on transmit, stop the queue if the next packet will failMark Einon
* Currently the tx queue is only stopped when the current packet fails. Check if the next packet will fail, and stop the queue if so. * Removed associated item from TODO list in the README. * Also minor fixup as adapter was being declared as null and immediately set to a value. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Tidy up PCI device table definitionMark Einon
Used the convenience macros DEFINE_PCI_DEVICE_TABLE and PCI_VDEVICE to tidy up the device table definition. Also remove the corresponding TODO item from the README. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Match dma_alloc_ calls with dma_free_ callsMark Einon
Previous update was to replace pci_alloc with dma_alloc calls. I missed replacing the corresponding pci_free_ calls with the dma versions. Now done. Thanks to Denis Kirjanov <kirjanov@gmail.com> for pointing this out. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: use dma_alloc... instead of pci_alloc...Mark Einon
Use dma_allocs instead of pci_allocs, so we can use GFP_KERNEL allocations. Also removed this item from the TODO list Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Fix issues when USE_FBR0 is not definedMark Einon
* Following on from making rx_ring.fbr use a common structure - reversed the fbr[] array indicies so that index 1 = FBR0 and index 0 = FBR1, which allows USE_FBR0 define to work. * Also fixed up minor issues where indexes into the array were out of bounds in some places. * Removed rx_ring.fbr common stuct TODO item from README Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Make rx_ring.fbr{0,1} share a common structureMark Einon
Sharing a common structure by moving common structure items into fbr_lookup. TODO - Currently will not work if USE_FBR0 = 0 as FBR1 uses fbr[1] which is removed in this case Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Moving two extern inline functions to .c fileMark Einon
Two helper functions for adding 10bit/12bit umbers with wrapping are defined in the header. Moved them to the driver .c file. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: Update TODO list - remove 'put driver into single file'Mark Einon
Driver now resides in a single file with a separate header with registers, updated the README TODO list. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: move et1310_tx.h contents into et131x.cMark Einon
Move et1310_tx.h contents into et131x.c and delete et1310_tx.h Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-23staging: et131x: move et1310_rx.h contents into et131x.cMark Einon
Move et1310_rx.h contents into et131x.c and delete et1310_rx.h Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>