- 13 10月, 2007 40 次提交
-
-
由 Joe Carnuccio 提交于
Additional cleanups and Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Andrew Vasquez 提交于
Newer ISPs support a mechanism to read and write flash-memory via the firmware LOAD/DUMP memory mailbox command routines. When supported, utilizing these mechanisms significantly reduces overall access times. Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Andrew Vasquez 提交于
Add IO-base-window accessor functions. Merge duplicate RISC-pause and soft-reset code segments. Drop 'eye-watering' __iomem casting. Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 James Bottomley 提交于
One of the intents of the block prep function was to allow ULDs to use it for preprocessing. The original SCSI model was to have a single prep function and add a pointer indirect filter to build the necessary commands. This patch reverses that, does away with the init_command field of the scsi_driver structure and makes ULDs attach directly to the prep function instead. The value is really that it allows us to begin to separate the ULDs from the SCSI mid layer (as long as they don't use any core functions---which is hard at the moment---a ULD doesn't even need SCSI to bind). Acked-by: NJens Axboe <jens.axboe@oracle.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 David Woodhouse 提交于
If you build a multiplatform kernel for iSeries and pSeries, with ibmvscsic support, the resulting client doesn't work on iSeries. This fixes that, using the appropriate low-level operations for the machine detected at runtime. [jejb: fixed up rejections around the srp transport patch] Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Acked by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: NPaul Mackerras <paulus@samba.org> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Alan Cox 提交于
(and pointed out by several people) Signed-off-by: NAlan Cox <alan@redhat.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Alan Cox 提交于
So its ancient, its crap, but it kept showing up in my scans for stuff that wanted fixing... - Redo the proc code to be far cleaner - Clean various return (0) type constructs - Use cpu_relax() The various waits ought to time out but thats another issue and probably not worth solving. Signed-off-by: NAlan Cox <alan@redhat.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Masatake YAMATO 提交于
In scsi module I've found some inconsistency between variable type used in module_param_named and type passed to module_param_named as an argument. Especially the inconsistency of `max_scsi_luns' parameter is a bit serious because the description text says "last scsi LUN (should be between 1 and 2^32-1)". Signed-off-by: NMasatake YAMATO <jet@gyve.org> Acked-by: NRandy Dunlap <randy.dunlap@oracle.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Boaz Harrosh 提交于
- Convert ide-scsi to the new data accessors and cleanup the !use_sg code paths. In old code the driver was trying to translate narrow commands, if received, to wide commands. This code path still assumed scsi_cmnd->request_buffer is a linear char pointer. This means that this driver was broken since 2.6.17. As suggested by Christoph Hellwig I set use_10_for_rw = 1; and use_10_for_ms = 1; for this device and completely killed the translation. Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com> Acked-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Michael Reed 提交于
A BUSY status returned on a write request results in a stale residual being returned when the write ultimately successfully completes. This can be reproduced as follows: 1) issue immediate mode rewind to scsi tape drive 2) issue write request The tape drive returns busy. The low level driver detects underrun and sets the residual into the scsi command. The low level driver responds with (DID_OK << 16) | scsi_status. scsi_status is 8, hence status_byte(result) == 4, i.e., BUSY. scsi_softirq_done() calls scsi_decide_disposition() which returns ADD_TO_MLQUEUE. scsi_softirq_done() then calls scsi_queue_insert() which, on the way to resubmitting the request to the driver, calls scsi_init_cmd_errh(). The attached patch modifies scsi_init_cmd_errh() to clear the resid field. This prevents a "stale" residual from being returned when the scsi command finally completes without a BUSY status. Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 James Bottomley 提交于
CC [M] drivers/scsi/arcmsr/arcmsr_hba.o drivers/scsi/arcmsr/arcmsr_attr.c:186: warning: initialization from incompatible pointer type drivers/scsi/arcmsr/arcmsr_attr.c:196: warning: initialization from incompatible pointer type drivers/scsi/arcmsr/arcmsr_attr.c:206: warning: initialization from incompatible pointer type drivers/scsi/arcmsr/arcmsr_hba.c: In function 'arcmsr_alloc_ccb_pool': drivers/scsi/arcmsr/arcmsr_hba.c:329: warning: assignment from incompatible pointer type drivers/scsi/arcmsr/arcmsr_hba.c: At top level: drivers/scsi/arcmsr/arcmsr_hba.c:101: warning: 'arcmsr_pci_error_detected' declared 'static' but never defined drivers/scsi/arcmsr/arcmsr_hba.c:102: warning: 'arcmsr_pci_slot_reset' declared 'static' but never defined The majority being incorrect casting or the fact that binary attributes now take an additional argument. Cc: Nick Cheng <nick.cheng@areca.com.tw> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Nick Cheng 提交于
Description: ** support ARC1200/1201/1202 SATA RAID adapter, which is named ACB_ADAPTER_TYPE_B ** modify the arcmsr_pci_slot_reset function ** modify the arcmsr_pci_ers_disconnect_forepart function ** modify the arcmsr_pci_ers_need_reset_forepart function Signed-off-by: NNick Cheng <nick.cheng@areca.com.tw> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Kay Sievers 提交于
This removes the unused sysfs attribute overwriting logic for most of the attributes, and plugs them into the driver core default attribute creation. Without this patch, at the time of the events for the SCSI LUN's, there will be no sysfs files, because their creation is delayed until the sd driver has spun up the disks, which might take several seconds. It is the last WAIT_FOR_SYSFS rule in the default udev setup which can be removed with this change. Signed-off-by: NKay Sievers <kay.sievers@vrfy.org> Signed-off-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
Follow the example of some other drivers by defining DRV_NAME to be "advansys". Prevents spelling mistakes. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
- Delete comments relating to the previous structure of the driver. I have no intention of honouring them ;-) - Reformat comments > 80 columns - Remove now-obsolete comments from advansys_interrupt - Change adv_get_sglist() from do {} while (1) to for (;;) - Return void from AscInitQLinkVar() - Take out a level of indentation in adv_get_sglist() - Reduce indentation level of AscAsyncFix() - Remove unused macros - Refactor AscSendScsiQueue slightly Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
- Replace ASC_ASSERT() with BUG_ON(). In a few places, get rid of the assertion altogether -- the ensuing crash will tell us all we need to know. Use BUG() where it fits better than BUG_ON(). Also fix a fencepost error in advansys_proc_info(). - Replace DvcSleepMilliSecond with mdelay. Despite its name using 'sleep', the implementation was a delay. I've marked some places with XXX where we should probably be using msleep instead. They need to be audited to be sure we can sleep in that context. - Replace DvcDelayMicroSecond with udelay. - Replace DvcDelayNanoSecond with udelay too. All callers were multiples of 1000. - Remove DvcEnterCritical and DvcLeaveCritical. These functions are no-ops, and as the comments said, the spinlock protects the critical sections. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
AscExeScsiQueue() has one caller, and it passes the address of a variable; this cannot ever be NULL. This is the only place that ever sets ASCQ_ERR_SCSIQ_NULL_PTR, so delete that error code too, as well as several other unused ASCQ_ERR codes. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
The SCSI midlayer won't send commands greater than ->max_cmd_len. So the checks on length in asc_build_req and adv_build_req are obsolete and can be deleted, but also we have to set the max_cmd_len in advansys_board_found(). Also move the length definitions together, and write a helpful comment. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
Move as much as possible outside the critical section in queuecommand, eg: - Set the scsi_done field before acquiring the lock - Call asc_scsi_done after dropping the lock Also remove a comment suggesting we should enable interrupts (now we do) and do some minor reformatting for readability. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
The `active' list was used in the reset handler -- but the midlayer guarantees that list is empty by the time the reset handler is invoked. It was also checked in the interrupt routines to be sure that this command belonged to this board, but we don't need to check that either. We can then delete the asc_prt_target_stats() function as it will never print anything, along with asc_enqueue(), asc_dequeue_list(), asc_rmqueue(), asc_scsi_done_list(), struct asc_queue, ASC_QUEUE_EMPTY, ASC_TID_ALL, ASC_FRONT, ASC_BACK, and all the REQ* macros. Also remove this item from the todo list. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
- Move the guts of asc_scsi_done_list() into a new function, asc_scsi_done. - Call asc_scsi_done() in asc_isr_callback() and adv_isr_callback(). The comment was wrong; scsi_done cannot enable interrupts. - All other places which queued an scp on the done list are error paths for queuecommand, and so we can just call asc_scsi_done() in queuecommand if we receive an error. - We no longer need to keep a list of done requests in advansys_interrupt Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
The midlayer guarantees it won't call ->queuecommand for a host which is handling a reset condition. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
If the adapter is busy, return the request to the midlayer rather than queueing it in the driver. asc_execute_queue() and asc_dequeue() become unused, and we don't need to print out stats on the waiting queue any more. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
Move the error reporting into AscInitGetConfig, AdvInitGetConfig and AscInitSetConfig. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
It's just data, so format it to something that looks more visually appealing (and saves some lines) Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
Split AdvLoadMicrocode out of AdvInitAsc3550Driver, AdvInitAsc38C0800Driver and AdvInitAsc38C1600Driver. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
Split AdvBuildCarrierFreelist out of AdvInitAsc3550Driver, AdvInitAsc38C0800Driver and AdvInitAsc38C1600Driver. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Matthew Wilcox 提交于
You can't have two drivers for the same bus type with the same name. Since ISA and VLB are both isa_drivers, rename the VLB one to advansys_vlb. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 FUJITA Tomonori 提交于
srp transport works for target drivers without supported_mode attribute but it would be better to use it explicitly. Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 FUJITA Tomonori 提交于
This adds minimum target driver support like the srp transport does: - fc_remote_port_{rolechg,delete} calls scsi_tgt_it_nexus_{create,destroy} for target drivers. - add callbacks to notify target drivers of the nexus and tmf operation results to fc_function_template. Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 FUJITA Tomonori 提交于
This adds supported_mode and active_mode attributes to /sys/class/sys_host/hostX/ for specifying the mode that a lld supports and the currently activated mode. The output format is similar to fc rport roles: luce:/sys/class/scsi_host/host0$ cat supported_mode Initiator luce:/sys/class/scsi_host/host0$ cat active_mode Initiator The mode values uses bitmap since we would support dual-mode llds in the future like this: luce:/sys/class/scsi_host/host0$ cat supported_mode Initiator, Target The supported_mode attribute looks at a scsi_host_template and the active_mode attribute looks at a scsi_host. We would add a hook to a scsi_host_template to change the active_mode attribute dynamically. But now there is no hook since no lld supports that feature. Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 FUJITA Tomonori 提交于
should use host->can_queue instead of host->hostt->can_queue. Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Gilbert Wu 提交于
Add new HBA PCI ID (0x416) for ASC58300 which has eight port SAS and SATA PCI-X 133MHz low profile host bus adapter with two mini SAS 4x external connectors. Signed-off-by: NGilbert Wu <gilbert_wu@adaptec.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 HighPoint Linux Team 提交于
updated patch based on Jeff Garzik's comments. - check adapter firmware version and use appropriate interface accordingly - add new PCI device IDs and use PCI_VDEVICE macro - update driver version string - remove unused data structures - remove unnecessary typecasts Signed-off-by: NHighPoint Linux Team <linux@highpoint-tech.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Christof Schmitt 提交于
This change has already been discussed on linux-scsi: http://marc.info/?t=118771096400003 http://marc.info/?t=118760913100005Signed-off-by: NChristof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: NSwen Schillig <swen@vnet.ibm.com> Acked-by: NJames Smart <James.Smart@Emulex.Com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Mariusz Kozlowski 提交于
In NCR_D700, a4000t, aic7xxx_old, bvme6000, dpt_i2o, gdth, lpfc, megaraid, mvme16x osst, pluto, qla2xxx, zorro7xx Signed-off-by: NMariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Alan Cox 提交于
Signed-off-by: NAlan Cox <alan@redhat.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Adrian Bunk 提交于
Signed-off-by: NAdrian Bunk <bunk@stusta.de> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Gabriel C 提交于
In file included from drivers/scsi/g_NCR5380_mmio.c:9: drivers/scsi/g_NCR5380.c:559:5: warning: "NCR53C400_PSEUDO_DMA" is not defined Signed-off-by: NGabriel Craciunescu <nix.or.die@googlemail.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Adrian Bunk 提交于
Every file should #include the headers containing the prototypes for its global functions (in this case for scsi_schedule_eh()). Signed-off-by: NAdrian Bunk <bunk@stusta.de> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-