summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] PCI: remove unused "scratch"Bjorn Helgaas2005-09-221-4/+0
| | | | | | | | Unused variable. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fix class symlinks in sysfsBill Nottingham2005-09-221-0/+13
| | | | | | | | | | | | | | | | The class symlinks in sysfs don't properly handle changing device names. To demonstrate, rename your network device from eth0 to eth1. Your pci (or usb, or whatever) device will still have a 'net:eth0' link, except now it points to /sys/class/net/eth1. The attached patch makes sure the class symlink name changes when the class device name changes. It isn't 100% correct, it should be using sysfs_rename_link. Unfortunately, sysfs_rename_link doesn't exist. Signed-off-by: Bill Nottingham <notting@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] driver core: add helper device_is_registered()Daniel Ritz2005-09-223-5/+5
| | | | | | | | | | | | add the helper and use it instead of open coding the klist_node_attached() check (which is a layering violation IMHO) idea by Alan Stern. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Driver Core: fis bus rescan devices raceDaniel Ritz2005-09-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bus_rescan_devices_helper() does not hold the dev->sem when it checks for !dev->driver(). device_attach() holds the sem, but calls again device_bind_driver() even when dev->driver is set. What happens is that a first device_attach() call (module insertion time) is on the way binding the device to a driver. Another thread calls bus_rescan_devices(). Now when bus_rescan_devices_helper() checks for dev->driver it is still NULL 'cos the the prior device_attach() is not yet finished. But as soon as the first one releases the dev->sem the second device_attach() tries to rebind the already bound device again. device_bind_driver() does this blindly which leads to a corrupt driver->klist_devices list (the device links itself, the head points to the device). Later a call to device_release_driver() sets dev->driver to NULL and breaks the link it has to itself on knode_driver. Rmmoding the driver later calls driver_detach() which leads to an endless loop 'cos the list head in klist_devices still points to the device. And since dev->driver is NULL it's stuck with the same device forever. Boom. And rmmod hangs. Very easy to reproduce with new-style pcmcia and a 16bit card. Just loop modprobe <pcmcia-modules> ;cardctl eject; rmmod <card driver, pcmcia modules>. Easiest fix is to check if the device is already bound to a driver in device_bind_driver(). This avoids the double binding. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] r8169: call proper VLAN receive functionTommy Christensen2005-09-211-2/+2
| | | | | | | | | | | | vlan_hwaccel_rx should be used when in interrupt context. Fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=5284 Signed-off-by: Tommy S. Christensen <tommy.christensen@tpack.net> Cc: Francois Romieu <romieu@fr.zoreil.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] skge: check length from PHYStephen Hemminger2005-09-212-82/+85
| | | | | | Cleanup receive buffer allocation and management, Add more error handling checks from PHY and bump version. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] skge: expand ethtool debug register dumpStephen Hemminger2005-09-211-21/+8
| | | | | | | | | | Expand the returned data for ethtool debug access to include all of the mapped PCI area; except for the small set of registers that are for diagnostic RAM access. Access to those registers will hang the system. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] bonding: Fix link monitor capability check (was skge: set mac ↵nsxfreddy@gmail.com2005-09-211-1/+2
| | | | | | | | | | | | address oops with bonding) Fix bond_enslave link monitoring warning to check use_carrier status and ethtool_ops in addition to do_ioctl. This version checks ethtool_ops as well as do_ioctl, and also uses the per-bond params.use_carrier instead of the global use_carrier. Signed-off-by: Jason R. Martin <nsxfreddy@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-09-211-1/+2
|\
| * [ARM] Fix pcf8583 to buildRussell King2005-09-201-1/+2
| | | | | | | | | | | | Seems that the Acorn RTC driver missed an update. Fix it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/roland/infinibandLinus Torvalds2005-09-211-11/+8
|\ \
| * | [IB] Fix RMPP receive length calculationHal Rosenstock2005-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | Based on simplification idea from Sean Hefty <sean.hefty@intel.com> Signed-off-by: Hal Rosenstock <halr@voltaire.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [IB] Add MAD data field size definitionsSean Hefty2005-09-211-9/+6
| | | | | | | | | | | | | | | | | | | | | Clean up code by using enums instead of hard-coded magic numbers. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
* | | [PATCH] Fix I2O config-osm init to return proper errorDeepak Saxena2005-09-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently unregister the config-osm driver if initialization of the legacy ioctl() handlers failed but still return success. We should be returning -EBUSY in this case. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Cc: Markus Lidel <Markus.Lidel@shadowconnect.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] remove blkdev_scsi_issue_flush_fn againChristoph Hellwig2005-09-211-38/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This function was removed a while ago, but crept in again via a recent scsi merge. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] cciss: busy_initializing bug fixMike Miller2005-09-211-4/+1
|/ / | | | | | | | | | | | | | | | | This patch fixes the problem Bjorn reported. The busy_initializing flag should have cleared before going into the for loop. Signed-off-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2005-09-211-1/+4
|\ \
| * | [ATYFB]: Fix build with CONFIG_FB_ATY_GENERIC_LCD disabled.Tom 'spot' Callaway2005-09-211-1/+4
| |/ | | | | | | | | Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/roland/infinibandLinus Torvalds2005-09-208-63/+55
|\ \
| * | [PATCH] IB/mthca: Fix device removal memory leakMichael S. Tsirkin2005-09-201-0/+1
| | | | | | | | | | | | | | | | | | | | | Clean up QP table array on device removal. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IPoIB: Don't flush workqueue from within workqueueRoland Dreier2005-09-203-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ipoib_mcast_restart_task() is always called from within the single-threaded IPoIB workqueue, so flushing the workqueue from within the function can lead to a recursion overflow. But since we're running in a single-threaded workqueue, we're already synchronized against other items in the workqueue, so just get rid of the flush in ipoib_mcast_restart_task(). Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IB: Fix data length for RMPP SA sendsHal Rosenstock2005-09-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | We need to subtract off the header length from our payload length when sending multi-packet SA messages. Signed-off-by: Hal Rosenstock <halr@voltaire.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IB/mthca: Don't try to set srq->last for userspace SRQsRoland Dreier2005-09-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Userspace SRQs don't have a buffer allocated for them in the kernel, so it doesn't make sense to set srq->last during initialization. In fact, this can crash trying to follow a nonexistent buffer pointer. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IB/mthca: Fix posting work requests to shared receive queuesRoland Dreier2005-09-181-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error handling paths in mthca_tavor_post_srq_recv() and mthca_arbel_post_srq_recv() are quite bogus, the result of a screwed up merge. Fix them so they work as intended. Pointed out by Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IB/mthca: Initialize eq->nent before we use itRoland Dreier2005-09-181-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In mthca_create_eq(), we call get_eqe() before setting eq->nent. This is wrong, because get_eqe() uses eq->nent. Fix this, and clean up the code a little while we're at it. (We got lucky with the current code, because eq->nent was cleared to 0, which get_eqe() made happen to do the right thing) Pointed out by Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IPoIB: Fix SA client retransmission strategyHal Rosenstock2005-09-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We got a little mixed up with what the backoff member holds in the IPoIB multicast group structure: sometimes it was used as a number of seconds, and sometimes it was used as a number of jiffies. Fix the code so that backoff is always in seconds. Signed-off-by: Hal Rosenstock <halr@voltaire.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IB/mthca: fix posting of first work requestRoland Dreier2005-09-182-34/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix posting first WQE for mem-free HCAs: we need to link to previous WQE even in that case. While we're at it, simplify code for Tavor-mode HCAs. We don't really need the conditional test there either; we can similarly always link to the previous WQE. Based on Michael S. Tsirkin's analogous fix for userspace libmthca. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IB/mthca: assign ACK timeout field correctlyRoland Dreier2005-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The hardware reads the ACK timeout field from the most significant 5 bits of struct mthca_qp_path's ackto field, not the least significant bits. This fix has the driver put the timeout in the right place. Without this, we get a timeout that is 2^8 times too small. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | [PATCH] IPoIB: fix module removal raceMichael S. Tsirkin2005-09-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Since ipoib uses queue_delayed_work to run flush task on port state events, it must flush scheduled work after unregistering the event handler. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
* | | [PATCH] fbdev: Fix reversed back and front porchesAntonino A. Daplas2005-09-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In fbdev perspective, the frontporch is the lower/right margin and the backporch is the upper/left margin. Correct. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] nvidiafb: Fix absence of cursor in nvidiafbAntonino A. Daplas2005-09-202-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | A recent change in nvidiafb caused nvidiafb_cursor to always return -ENXIO instead of using the soft_cursor. This will happen if the parameter "hwcur" is not set, which happens to be the default. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6Linus Torvalds2005-09-2043-1580/+4223
|\ \ \ | |_|/ |/| |
| * | [SCSI] zfcp: add additional fc_host attributesAndreas Herrmann2005-09-197-98/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this patch adds some fc host attributes and removes its equivalents from the zfcp_adapter structure and zfcp specific sysfs subtree. Furthermore it removes superfluous calls to fc_remort_port_delete when an adapter is set offline because rports will be removed by fc_remove_host anyway. Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: provide support for NPIVMaxim Shchetynin2005-09-197-140/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | N_Port ID Virtualization (NPIV) allows a single FCP port to appear as multiple, distinct ports providing separate port identification. NPIV is supported by FC HBAs on System z9. zfcp was adapted to support this new feature. Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: enhancement of zfcp debug featuresMaxim Shchetynin2005-09-199-435/+1297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Debug features (DBFs) els_dbf, cmd_dbf and abt_dbf were removed and san_dbf, hba_dbf and scsi_dbf were introduced. The erp_dbf did not change. The new traces improve debugging of problems with zfcp, scsi-stack, multipath and hardware in the SAN. san_dbf traces things like ELS and CT commands, hba_dbf saves HBA specific information of requests, and scsi_dbf saves FCP and SCSI specific information of requests. Common to all new DBFs is that they provide a so called structured view. This significantly improves readability of the traces. Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: shorten eh_bus_reset and eh_host_reset handlersAndreas Herrmann2005-09-191-26/+14
| | | | | | | | | | | | | | | Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: remove function zfcp_fsf_req_wait_and_cleanupAndreas Herrmann2005-09-193-59/+9
| | | | | | | | | | | | | | | Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: remove union zfcp_req_data, use unit refcount for FCP commandsAndreas Herrmann2005-09-194-275/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o union zfcp_req_data removed o increment unit refcount when processing FCP commands (This fixes a theoretical race: When all scsi commands of a unit are aborted and the scsi_device is removed then the unit could be removed before all fsf_requests of that unit are completely processed.) Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: fix race conditions when accessing erp_action listsAndreas Herrmann2005-09-191-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | o always use locking when changing erp_action lists, o avoid escalation to ERP_ACTION_REOPEN_PORT_FORCED if erp_action is still in use for ERP_ACTION_REOPEN_PORT Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fusion SAS support (mptsas driver) minor fixMoore, Eric Dean2005-09-192-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Thursday, September 15, 2005 6:22 AM, Christoph Hellwig wrote: > Looks good to me, except for the spurious scsi_print_command prototype > in mptscsih.h. The attached patch addresses that concern. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fusion SAS support (mptsas driver) updatesMoore, Eric Dean2005-09-199-400/+549
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary of Changes: * splitting mpt_interrupt per Christophs suggestion about a month ago * rename ScsiCfgData to SpiCfgData structure, then move all the raid related info into new structure called RaidCfgData. This is done because SAS supports RAID, as well as SPI, so the raid stuff should be seperate. * incorrect timeout calculation for cntdn inside WaitForDoorbellAck and WaitForDoortbellInt * add support for interpreting SAS Log Info * Increase Event Log Size from 0xA to 0x32 * Fix bug in mptsas/mptfc/mptspi - when controller has Initiator Mode Disabled, and only running in TargetMode, the mptctl would panic when loading. The fix is to return 0, instead of -ENODEV, in SCSI LLD respective probe routines * Fix bug in mptlan.c - driver will panic if there is host reset, due to dev being set to zero in mpt_lan_ioc_reset * Fix's for SPI - Echo Buffer * Several fix's in mptscsih_io_done - FCP Response info, RESIDUAL_MISMATCH, Data Underrun, etc. * Cleanup Error Handling - EH handlers, mptscsih_flush_cmds, and zeroing out ScsiLookup from mptscsih_qcmd * Cleanup asyn event handling from mptscsih -> mptscsih_event_process. Also added support for SAS Persistent Table Full, an asyn event Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fusion SAS support (mptsas driver)Christoph Hellwig2005-09-193-0/+1253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the actual mptsas driver, based upon the LSI driver with new work for SAS transport class integration from Eric Moore and me. This obviously depends on the SAS transport class. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fusion core changes for SAS supportChristoph Hellwig2005-09-193-87/+472
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - various bits for SAS support from the LSI driver. - use the device private data for the fusion target private data. this should be using the midlayer target data framework, but we can't move over to that until fusion has been switched to the generic DV code - use target ID and channel from the fusion target private data, because those in scsi_device will be different for mptsas Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] Fix thread termination for the SCSI error handleJames Bottomley2005-09-191-32/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Alan Stern <stern@rowland.harvard.edu> This patch (as561) fixes the error handler's thread-exit code. The kthread_stop call won't wake the thread from a down_interruptible, so the patch gets rid of the semaphore and simply does set_current_state(TASK_INTERRUPTIBLE); Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Modified to simplify the termination loop and correct the sleep condition. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix oops on usb storage device disconnectJames Bottomley2005-09-197-16/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | We fix the oops by enforcing the host state model. There have also been two extra states added: SHOST_CANCEL_RECOVERY and SHOST_DEL_RECOVERY so we can take the model through host removal while the recovery thread is active. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] SCSI scanning and removal fixesAlan Stern2005-09-182-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch (as545) fixes the list traversals in __scsi_remove_target and scsi_forget_host. In each case the existing code list_for_each_entry_safe in an _unsafe_ manner, because the list was not protected from outside modification while the iteration was running. The new scsi_forget_host routine takes the moderately controversial step of iterating over devices for removal rather than iterating over targets. This makes more sense to me because the current scheme treats targets as second-class citizens, created and removed on demand, rather than as objects corresponding to actual hardware. (Also I couldn't figure out any safe way to iterate over the target list, since it's not so easy to tell when a target has already been removed.) Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix oops in scsi_release_buffers()Alan Stern2005-09-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found one other thing that needs to be fixed. The call to scsi_release_buffers in scsi_unprep_request causes an oops, because the sgtable has already been freed in scsi_io_completion. The following patch is needed. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix use after potential free in scsi_remove_deviceAlan Stern2005-09-151-2/+4
| | | | | | | | | | | | | | | Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] atp870u: fix memory addressing bugJames Bottomley2005-09-152-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Alan Cox <alan@redhat.com> The virt_to_bus() wasn't correctly taken out of this driver. It needs to be able to track both physical and virtual addresses for its prd table. Update the driver to do this with separate tracking entries. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix sym scsi boot hangJames Bottomley2005-09-141-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Wed, 2005-09-14 at 18:06 +1000, Anton Blanchard wrote: > And in particular it looks like the scsi_unprep_request in > scsi_queue_insert is causing it. The following patch fixes the boot > problems on the vscsi machine: OK, my fault. Your fix is almost correct .. I was going to do this eventually, honest, because there's no need to unprep and reprep a command that comes in through scsi_queue_insert(). However, I decided to leave it in to exercise the scsi_unprep_request() path just to make sure it was working. What's happening, I think, is that we also use this path for retries. Since we kill and reget the command each time, the retries decrement is never seen, so we're retrying forever. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
OpenPOWER on IntegriCloud