Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] JAZZ ESP and SUN ESP need SPI_ATTRS
[SCSI] atari_NCR5380: update_timeout removal
[SCSI] aacraid: fix shutdown handler to also disable interrupts.
[SCSI] qla2xxx: fix timeout in qla2x00_down_timeout
[SCSI] fix CONFIG_SCSI_WAIT_SCAN=m

+26 -53
+2
drivers/scsi/Kconfig
··· 1532 1532 config JAZZ_ESP 1533 1533 bool "MIPS JAZZ FAS216 SCSI support" 1534 1534 depends on MACH_JAZZ && SCSI 1535 + select SCSI_SPI_ATTRS 1535 1536 help 1536 1537 This is the driver for the onboard SCSI host adapter of MIPS Magnum 1537 1538 4000, Acer PICA, Olivetti M700-10 and a few other identical OEM ··· 1757 1756 config SCSI_SUNESP 1758 1757 tristate "Sparc ESP Scsi Driver" 1759 1758 depends on SBUS && SCSI 1759 + select SCSI_SPI_ATTRS 1760 1760 help 1761 1761 This is the driver for the Sun ESP SCSI host adapter. The ESP 1762 1762 chipset is present in most SPARC SBUS-based computers.
+12 -10
drivers/scsi/aacraid/linit.c
··· 863 863 .emulated = 1, 864 864 }; 865 865 866 + static void __aac_shutdown(struct aac_dev * aac) 867 + { 868 + kthread_stop(aac->thread); 869 + aac_send_shutdown(aac); 870 + aac_adapter_disable_int(aac); 871 + free_irq(aac->pdev->irq, aac); 872 + } 873 + 866 874 static int __devinit aac_probe_one(struct pci_dev *pdev, 867 875 const struct pci_device_id *id) 868 876 { ··· 1023 1015 return 0; 1024 1016 1025 1017 out_deinit: 1026 - kthread_stop(aac->thread); 1027 - aac_send_shutdown(aac); 1028 - aac_adapter_disable_int(aac); 1029 - free_irq(pdev->irq, aac); 1018 + __aac_shutdown(aac); 1030 1019 out_unmap: 1031 1020 aac_fib_map_free(aac); 1032 1021 pci_free_consistent(aac->pdev, aac->comm_size, aac->comm_addr, aac->comm_phys); ··· 1043 1038 { 1044 1039 struct Scsi_Host *shost = pci_get_drvdata(dev); 1045 1040 struct aac_dev *aac = (struct aac_dev *)shost->hostdata; 1046 - aac_send_shutdown(aac); 1041 + scsi_block_requests(shost); 1042 + __aac_shutdown(aac); 1047 1043 } 1048 1044 1049 1045 static void __devexit aac_remove_one(struct pci_dev *pdev) ··· 1054 1048 1055 1049 scsi_remove_host(shost); 1056 1050 1057 - kthread_stop(aac->thread); 1058 - 1059 - aac_send_shutdown(aac); 1060 - aac_adapter_disable_int(aac); 1051 + __aac_shutdown(aac); 1061 1052 aac_fib_map_free(aac); 1062 1053 pci_free_consistent(aac->pdev, aac->comm_size, aac->comm_addr, 1063 1054 aac->comm_phys); 1064 1055 kfree(aac->queues); 1065 1056 1066 - free_irq(pdev->irq, aac); 1067 1057 aac_adapter_ioremap(aac, 0); 1068 1058 1069 1059 kfree(aac->fibs);
+2 -42
drivers/scsi/atari_NCR5380.c
··· 894 894 } 895 895 896 896 /* 897 - * our own old-style timeout update 898 - */ 899 - /* 900 - * The strategy is to cause the timer code to call scsi_times_out() 901 - * when the soonest timeout is pending. 902 - * The arguments are used when we are queueing a new command, because 903 - * we do not want to subtract the time used from this time, but when we 904 - * set the timer, we want to take this value into account. 905 - */ 906 - 907 - int atari_scsi_update_timeout(Scsi_Cmnd * SCset, int timeout) 908 - { 909 - int rtn; 910 - 911 - /* 912 - * We are using the new error handling code to actually register/deregister 913 - * timers for timeout. 914 - */ 915 - 916 - if (!timer_pending(&SCset->eh_timeout)) 917 - rtn = 0; 918 - else 919 - rtn = SCset->eh_timeout.expires - jiffies; 920 - 921 - if (timeout == 0) { 922 - del_timer(&SCset->eh_timeout); 923 - SCset->eh_timeout.data = (unsigned long)NULL; 924 - SCset->eh_timeout.expires = 0; 925 - } else { 926 - if (SCset->eh_timeout.data != (unsigned long)NULL) 927 - del_timer(&SCset->eh_timeout); 928 - SCset->eh_timeout.data = (unsigned long)SCset; 929 - SCset->eh_timeout.expires = jiffies + timeout; 930 - add_timer(&SCset->eh_timeout); 931 - } 932 - return rtn; 933 - } 934 - 935 - /* 936 897 * Function : int NCR5380_queue_command (Scsi_Cmnd *cmd, 937 898 * void (*done)(Scsi_Cmnd *)) 938 899 * ··· 917 956 Scsi_Cmnd *tmp; 918 957 int oldto; 919 958 unsigned long flags; 920 - // extern int update_timeout(Scsi_Cmnd * SCset, int timeout); 921 959 922 960 #if (NDEBUG & NDEBUG_NO_WRITE) 923 961 switch (cmd->cmnd[0]) { ··· 989 1029 * alter queues and touch the lock. 990 1030 */ 991 1031 if (!IS_A_TT()) { 992 - oldto = atari_scsi_update_timeout(cmd, 0); 1032 + /* perhaps stop command timer here */ 993 1033 falcon_get_lock(); 994 - atari_scsi_update_timeout(cmd, oldto); 1034 + /* perhaps restart command timer here */ 995 1035 } 996 1036 if (!(hostdata->issue_queue) || (cmd->cmnd[0] == REQUEST_SENSE)) { 997 1037 LIST(cmd, hostdata->issue_queue);
+1 -1
drivers/scsi/qla2xxx/qla_os.c
··· 2590 2590 return 0; 2591 2591 if (msleep_interruptible(step)) 2592 2592 break; 2593 - } while (--iterations >= 0); 2593 + } while (--iterations > 0); 2594 2594 2595 2595 return -ETIMEDOUT; 2596 2596 }
+9
drivers/scsi/scsi_scan.c
··· 184 184 /* Only exported for the benefit of scsi_wait_scan */ 185 185 EXPORT_SYMBOL_GPL(scsi_complete_async_scans); 186 186 187 + #ifndef MODULE 188 + /* 189 + * For async scanning we need to wait for all the scans to complete before 190 + * trying to mount the root fs. Otherwise non-modular drivers may not be ready 191 + * yet. 192 + */ 193 + late_initcall(scsi_complete_async_scans); 194 + #endif 195 + 187 196 /** 188 197 * scsi_unlock_floptical - unlock device via a special MODE SENSE command 189 198 * @sdev: scsi device to send command to