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 tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
"One core fix for an oops which can occur if the error handling thread
fails to start for some reason and the driver is removed.

The other fixes are all minor ones in drivers"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: ufs: core: Add missing host_lock in ufshcd_vops_setup_xfer_req()
scsi: mpi3mr: Fix W=1 compilation warnings
scsi: pm8001: Clean up kernel-doc and comments
scsi: zfcp: Report port fc_security as unknown early during remote cable pull
scsi: core: Fix bad pointer dereference when ehandler kthread is invalid
scsi: fas216: Fix a build error
scsi: core: Fix the documentation of the scsi_execute() time parameter

+115 -101
+1
drivers/s390/scsi/zfcp_sysfs.c
··· 487 487 if (0 == (status & ZFCP_STATUS_COMMON_OPEN) || 488 488 0 == (status & ZFCP_STATUS_COMMON_UNBLOCKED) || 489 489 0 == (status & ZFCP_STATUS_PORT_PHYS_OPEN) || 490 + 0 != (status & ZFCP_STATUS_PORT_LINK_TEST) || 490 491 0 != (status & ZFCP_STATUS_COMMON_ERP_FAILED) || 491 492 0 != (status & ZFCP_STATUS_COMMON_ACCESS_BOXED)) 492 493 i = sprintf(buf, "unknown\n");
+1 -1
drivers/scsi/arm/fas216.c
··· 2010 2010 "request sense complete, result=0x%04x%02x%02x", 2011 2011 result, SCpnt->SCp.Message, SCpnt->SCp.Status); 2012 2012 2013 - if (result != DID_OK || SCpnt->SCp.Status != GOOD) 2013 + if (result != DID_OK || SCpnt->SCp.Status != SAM_STAT_GOOD) 2014 2014 /* 2015 2015 * Something went wrong. Make sure that we don't 2016 2016 * have valid data in the sense buffer that could
+1
drivers/scsi/hosts.c
··· 488 488 shost_printk(KERN_WARNING, shost, 489 489 "error handler thread failed to spawn, error = %ld\n", 490 490 PTR_ERR(shost->ehandler)); 491 + shost->ehandler = NULL; 491 492 goto fail; 492 493 } 493 494
+7 -8
drivers/scsi/mpi3mr/mpi3mr_fw.c
··· 2607 2607 goto out; 2608 2608 } 2609 2609 drv_info->information_length = cpu_to_le32(data_len); 2610 - strncpy(drv_info->driver_signature, "Broadcom", sizeof(drv_info->driver_signature)); 2611 - strncpy(drv_info->os_name, utsname()->sysname, sizeof(drv_info->os_name)); 2612 - drv_info->os_name[sizeof(drv_info->os_name) - 1] = 0; 2613 - strncpy(drv_info->os_version, utsname()->release, sizeof(drv_info->os_version)); 2614 - drv_info->os_version[sizeof(drv_info->os_version) - 1] = 0; 2615 - strncpy(drv_info->driver_name, MPI3MR_DRIVER_NAME, sizeof(drv_info->driver_name)); 2616 - strncpy(drv_info->driver_version, MPI3MR_DRIVER_VERSION, sizeof(drv_info->driver_version)); 2617 - strncpy(drv_info->driver_release_date, MPI3MR_DRIVER_RELDATE, sizeof(drv_info->driver_release_date)); 2610 + strscpy(drv_info->driver_signature, "Broadcom", sizeof(drv_info->driver_signature)); 2611 + strscpy(drv_info->os_name, utsname()->sysname, sizeof(drv_info->os_name)); 2612 + strscpy(drv_info->os_version, utsname()->release, sizeof(drv_info->os_version)); 2613 + strscpy(drv_info->driver_name, MPI3MR_DRIVER_NAME, sizeof(drv_info->driver_name)); 2614 + strscpy(drv_info->driver_version, MPI3MR_DRIVER_VERSION, sizeof(drv_info->driver_version)); 2615 + strscpy(drv_info->driver_release_date, MPI3MR_DRIVER_RELDATE, 2616 + sizeof(drv_info->driver_release_date)); 2618 2617 drv_info->driver_capabilities = 0; 2619 2618 memcpy((u8 *)&mrioc->driver_info, (u8 *)drv_info, 2620 2619 sizeof(mrioc->driver_info));
+26 -22
drivers/scsi/pm8001/pm8001_ctl.c
··· 77 77 * @attr: device attribute (unused) 78 78 * @buf: the buffer returned 79 79 * 80 - * A sysfs 'read only' shost attribute. 80 + * A sysfs 'read-only' shost attribute. 81 81 */ 82 82 static ssize_t controller_fatal_error_show(struct device *cdev, 83 83 struct device_attribute *attr, char *buf) ··· 149 149 static DEVICE_ATTR(ila_version, 0444, pm8001_ctl_ila_version_show, NULL); 150 150 151 151 /** 152 - * pm8001_ctl_inactive_fw_version_show - Inacative firmware version number 152 + * pm8001_ctl_inactive_fw_version_show - Inactive firmware version number 153 153 * @cdev: pointer to embedded class device 154 154 * @attr: device attribute (unused) 155 155 * @buf: the buffer returned ··· 396 396 * @cdev:pointer to embedded class device 397 397 * @attr: device attribute (unused) 398 398 * @buf: the buffer returned 399 + * 399 400 * A sysfs 'read-only' shost attribute. 400 401 */ 401 402 static ssize_t pm8001_ctl_ib_queue_log_show(struct device *cdev, ··· 431 430 * @cdev:pointer to embedded class device 432 431 * @attr: device attribute (unused) 433 432 * @buf: the buffer returned 433 + * 434 434 * A sysfs 'read-only' shost attribute. 435 435 */ 436 436 ··· 466 464 * @cdev:pointer to embedded class device 467 465 * @attr: device attribute (unused) 468 466 * @buf:the buffer returned 467 + * 469 468 * A sysfs 'read-only' shost attribute. 470 469 */ 471 470 static ssize_t pm8001_ctl_bios_version_show(struct device *cdev, ··· 558 555 static DEVICE_ATTR(iop_log, S_IRUGO, pm8001_ctl_iop_log_show, NULL); 559 556 560 557 /** 561 - ** pm8001_ctl_fatal_log_show - fatal error logging 562 - ** @cdev:pointer to embedded class device 563 - ** @attr: device attribute 564 - ** @buf: the buffer returned 565 - ** 566 - ** A sysfs 'read-only' shost attribute. 567 - **/ 558 + * pm8001_ctl_fatal_log_show - fatal error logging 559 + * @cdev:pointer to embedded class device 560 + * @attr: device attribute 561 + * @buf: the buffer returned 562 + * 563 + * A sysfs 'read-only' shost attribute. 564 + */ 568 565 569 566 static ssize_t pm8001_ctl_fatal_log_show(struct device *cdev, 570 567 struct device_attribute *attr, char *buf) ··· 578 575 static DEVICE_ATTR(fatal_log, S_IRUGO, pm8001_ctl_fatal_log_show, NULL); 579 576 580 577 /** 581 - ** non_fatal_log_show - non fatal error logging 582 - ** @cdev:pointer to embedded class device 583 - ** @attr: device attribute 584 - ** @buf: the buffer returned 585 - ** 586 - ** A sysfs 'read-only' shost attribute. 587 - **/ 578 + * non_fatal_log_show - non fatal error logging 579 + * @cdev:pointer to embedded class device 580 + * @attr: device attribute 581 + * @buf: the buffer returned 582 + * 583 + * A sysfs 'read-only' shost attribute. 584 + */ 588 585 static ssize_t non_fatal_log_show(struct device *cdev, 589 586 struct device_attribute *attr, char *buf) 590 587 { ··· 623 620 static DEVICE_ATTR_RW(non_fatal_count); 624 621 625 622 /** 626 - ** pm8001_ctl_gsm_log_show - gsm dump collection 627 - ** @cdev:pointer to embedded class device 628 - ** @attr: device attribute (unused) 629 - ** @buf: the buffer returned 630 - ** A sysfs 'read-only' shost attribute. 631 - **/ 623 + * pm8001_ctl_gsm_log_show - gsm dump collection 624 + * @cdev:pointer to embedded class device 625 + * @attr: device attribute (unused) 626 + * @buf: the buffer returned 627 + * 628 + * A sysfs 'read-only' shost attribute. 629 + */ 632 630 static ssize_t pm8001_ctl_gsm_log_show(struct device *cdev, 633 631 struct device_attribute *attr, char *buf) 634 632 {
+9 -9
drivers/scsi/pm8001/pm8001_hwi.c
··· 384 384 385 385 /** 386 386 * pm8001_bar4_shift - function is called to shift BAR base address 387 - * @pm8001_ha : our hba card infomation 387 + * @pm8001_ha : our hba card information 388 388 * @shiftValue : shifting value in memory bar. 389 389 */ 390 390 int pm8001_bar4_shift(struct pm8001_hba_info *pm8001_ha, u32 shiftValue) ··· 1151 1151 } 1152 1152 1153 1153 /** 1154 - * pm8001_chip_iounmap - which maped when initialized. 1154 + * pm8001_chip_iounmap - which mapped when initialized. 1155 1155 * @pm8001_ha: our hba card information 1156 1156 */ 1157 1157 void pm8001_chip_iounmap(struct pm8001_hba_info *pm8001_ha) ··· 1187 1187 pm8001_cw32(pm8001_ha, 0, MSGU_ODCR, ODCR_CLEAR_ALL); 1188 1188 } 1189 1189 1190 - /** 1191 - * pm8001_chip_intx_interrupt_disable- disable PM8001 chip interrupt 1192 - * @pm8001_ha: our hba card information 1193 - */ 1190 + /** 1191 + * pm8001_chip_intx_interrupt_disable - disable PM8001 chip interrupt 1192 + * @pm8001_ha: our hba card information 1193 + */ 1194 1194 static void 1195 1195 pm8001_chip_intx_interrupt_disable(struct pm8001_hba_info *pm8001_ha) 1196 1196 { ··· 1876 1876 * @piomb: the message contents of this outbound message. 1877 1877 * 1878 1878 * When FW has completed a ssp request for example a IO request, after it has 1879 - * filled the SG data with the data, it will trigger this event represent 1880 - * that he has finished the job,please check the coresponding buffer. 1879 + * filled the SG data with the data, it will trigger this event representing 1880 + * that he has finished the job; please check the corresponding buffer. 1881 1881 * So we will tell the caller who maybe waiting the result to tell upper layer 1882 1882 * that the task has been finished. 1883 1883 */ ··· 3522 3522 * 3523 3523 * when sas layer find a device it will notify LLDD, then the driver register 3524 3524 * the domain device to FW, this event is the return device ID which the FW 3525 - * has assigned, from now,inter-communication with FW is no longer using the 3525 + * has assigned, from now, inter-communication with FW is no longer using the 3526 3526 * SAS address, use device ID which FW assigned. 3527 3527 */ 3528 3528 int pm8001_mpi_reg_resp(struct pm8001_hba_info *pm8001_ha, void *piomb)
+15 -14
drivers/scsi/pm8001/pm8001_init.c
··· 233 233 /** 234 234 * pm8001_interrupt_handler_intx - main INTx interrupt handler. 235 235 * @irq: interrupt number 236 - * @dev_id: sas_ha structure. The HBA is retrieved from sas_has structure. 236 + * @dev_id: sas_ha structure. The HBA is retrieved from sas_ha structure. 237 237 */ 238 238 239 239 static irqreturn_t pm8001_interrupt_handler_intx(int irq, void *dev_id) ··· 439 439 } 440 440 441 441 /** 442 - * pm8001_ioremap - remap the pci high physical address to kernal virtual 442 + * pm8001_ioremap - remap the pci high physical address to kernel virtual 443 443 * address so that we can access them. 444 - * @pm8001_ha:our hba structure. 444 + * @pm8001_ha: our hba structure. 445 445 */ 446 446 static int pm8001_ioremap(struct pm8001_hba_info *pm8001_ha) 447 447 { ··· 652 652 * pm8001_init_sas_add - initialize sas address 653 653 * @pm8001_ha: our ha struct. 654 654 * 655 - * Currently we just set the fixed SAS address to our HBA,for manufacture, 655 + * Currently we just set the fixed SAS address to our HBA, for manufacture, 656 656 * it should read from the EEPROM 657 657 */ 658 658 static void pm8001_init_sas_add(struct pm8001_hba_info *pm8001_ha) ··· 790 790 }; 791 791 792 792 /** 793 - * pm8001_get_internal_phy_settings : Retrieves the internal PHY settings 793 + * pm8001_get_internal_phy_settings - Retrieves the internal PHY settings 794 794 * @pm8001_ha : our adapter 795 795 * @phycfg : PHY config page to populate 796 796 */ ··· 810 810 } 811 811 812 812 /** 813 - * pm8001_get_external_phy_settings : Retrieves the external PHY settings 813 + * pm8001_get_external_phy_settings - Retrieves the external PHY settings 814 814 * @pm8001_ha : our adapter 815 815 * @phycfg : PHY config page to populate 816 816 */ ··· 830 830 } 831 831 832 832 /** 833 - * pm8001_get_phy_mask : Retrieves the mask that denotes if a PHY is int/ext 833 + * pm8001_get_phy_mask - Retrieves the mask that denotes if a PHY is int/ext 834 834 * @pm8001_ha : our adapter 835 835 * @phymask : The PHY mask 836 836 */ ··· 868 868 } 869 869 870 870 /** 871 - * pm8001_set_phy_settings_ven_117c_12G() : Configure ATTO 12Gb PHY settings 871 + * pm8001_set_phy_settings_ven_117c_12G() - Configure ATTO 12Gb PHY settings 872 872 * @pm8001_ha : our adapter 873 873 */ 874 874 static ··· 903 903 } 904 904 905 905 /** 906 - * pm8001_configure_phy_settings : Configures PHY settings based on vendor ID. 906 + * pm8001_configure_phy_settings - Configures PHY settings based on vendor ID. 907 907 * @pm8001_ha : our hba. 908 908 */ 909 909 static int pm8001_configure_phy_settings(struct pm8001_hba_info *pm8001_ha) ··· 1053 1053 * @ent: pci device id 1054 1054 * 1055 1055 * This function is the main initialization function, when register a new 1056 - * pci driver it is invoked, all struct an hardware initilization should be done 1057 - * here, also, register interrupt 1056 + * pci driver it is invoked, all struct and hardware initialization should be 1057 + * done here, also, register interrupt. 1058 1058 */ 1059 1059 static int pm8001_pci_probe(struct pci_dev *pdev, 1060 1060 const struct pci_device_id *ent) ··· 1172 1172 return rc; 1173 1173 } 1174 1174 1175 - /* 1175 + /** 1176 1176 * pm8001_init_ccb_tag - allocate memory to CCB and tag. 1177 1177 * @pm8001_ha: our hba card information. 1178 1178 * @shost: scsi host which has been allocated outside. 1179 + * @pdev: pci device. 1179 1180 */ 1180 1181 static int 1181 1182 pm8001_init_ccb_tag(struct pm8001_hba_info *pm8001_ha, struct Scsi_Host *shost, ··· 1271 1270 * pm8001_pci_suspend - power management suspend main entry point 1272 1271 * @dev: Device struct 1273 1272 * 1274 - * Returns 0 success, anything else error. 1273 + * Return: 0 on success, anything else on error. 1275 1274 */ 1276 1275 static int __maybe_unused pm8001_pci_suspend(struct device *dev) 1277 1276 { ··· 1316 1315 * pm8001_pci_resume - power management resume main entry point 1317 1316 * @dev: Device struct 1318 1317 * 1319 - * Returns 0 success, anything else error. 1318 + * Return: 0 on success, anything else on error. 1320 1319 */ 1321 1320 static int __maybe_unused pm8001_pci_resume(struct device *dev) 1322 1321 {
+22 -19
drivers/scsi/pm8001/pm8001_sas.c
··· 98 98 pm8001_tag_free(pm8001_ha, i); 99 99 } 100 100 101 - /** 102 - * pm8001_mem_alloc - allocate memory for pm8001. 103 - * @pdev: pci device. 104 - * @virt_addr: the allocated virtual address 105 - * @pphys_addr_hi: the physical address high byte address. 106 - * @pphys_addr_lo: the physical address low byte address. 107 - * @mem_size: memory size. 108 - */ 101 + /** 102 + * pm8001_mem_alloc - allocate memory for pm8001. 103 + * @pdev: pci device. 104 + * @virt_addr: the allocated virtual address 105 + * @pphys_addr: DMA address for this device 106 + * @pphys_addr_hi: the physical address high byte address. 107 + * @pphys_addr_lo: the physical address low byte address. 108 + * @mem_size: memory size. 109 + * @align: requested byte alignment 110 + */ 109 111 int pm8001_mem_alloc(struct pci_dev *pdev, void **virt_addr, 110 112 dma_addr_t *pphys_addr, u32 *pphys_addr_hi, 111 113 u32 *pphys_addr_lo, u32 mem_size, u32 align) ··· 341 339 } 342 340 343 341 /** 344 - * pm8001_task_prep_ssp - the dispatcher function,prepare ssp data for ssp task 342 + * pm8001_task_prep_ssp - the dispatcher function, prepare ssp data for ssp task 345 343 * @pm8001_ha: our hba card information 346 344 * @ccb: the ccb which attached to ssp task 347 345 */ ··· 556 554 pm8001_tag_free(pm8001_ha, ccb_idx); 557 555 } 558 556 559 - /** 560 - * pm8001_alloc_dev - find a empty pm8001_device 561 - * @pm8001_ha: our hba card information 562 - */ 557 + /** 558 + * pm8001_alloc_dev - find a empty pm8001_device 559 + * @pm8001_ha: our hba card information 560 + */ 563 561 static struct pm8001_device *pm8001_alloc_dev(struct pm8001_hba_info *pm8001_ha) 564 562 { 565 563 u32 dev; ··· 707 705 * @parameter: ssp task parameter. 708 706 * 709 707 * when errors or exception happened, we may want to do something, for example 710 - * abort the issued task which result in this execption, it is done by calling 708 + * abort the issued task which result in this exception, it is done by calling 711 709 * this function, note it is also with the task execute interface. 712 710 */ 713 711 static int pm8001_exec_internal_tmf_task(struct domain_device *dev, ··· 986 984 } 987 985 988 986 /** 989 - * pm8001_I_T_nexus_reset() 990 - * Standard mandates link reset for ATA (type 0) and hard reset for 991 - * SSP (type 1) , only for RECOVERY 992 - * @dev: the device structure for the device to reset. 993 - */ 987 + * pm8001_I_T_nexus_reset() - reset the initiator/target connection 988 + * @dev: the device structure for the device to reset. 989 + * 990 + * Standard mandates link reset for ATA (type 0) and hard reset for 991 + * SSP (type 1), only for RECOVERY 992 + */ 994 993 int pm8001_I_T_nexus_reset(struct domain_device *dev) 995 994 { 996 995 int rc = TMF_RESP_FUNC_FAILED;
+25 -25
drivers/scsi/pm8001/pm80xx_hwi.c
··· 140 140 pm8001_ha->fatal_bar_loc = 0; 141 141 } 142 142 143 - /* Read until accum_len is retrived */ 143 + /* Read until accum_len is retrieved */ 144 144 accum_len = pm8001_mr32(fatal_table_address, 145 145 MPI_FATAL_EDUMP_TABLE_ACCUM_LEN); 146 146 /* Determine length of data between previously stored transfer length ··· 1011 1011 value); 1012 1012 return -EBUSY; 1013 1013 } 1014 - /* check the MPI-State for initialization upto 100ms*/ 1014 + /* check the MPI-State for initialization up to 100ms*/ 1015 1015 max_wait_count = 5;/* 100 msec */ 1016 1016 do { 1017 1017 msleep(FW_READY_INTERVAL); ··· 1093 1093 1094 1094 value = pm8001_cr32(pm8001_ha, 0, MSGU_SCRATCH_PAD_0); 1095 1095 1096 - /** 1096 + /* 1097 1097 * lower 26 bits of SCRATCHPAD0 register describes offset within the 1098 1098 * PCIe BAR where the MPI configuration table is present 1099 1099 */ ··· 1101 1101 1102 1102 pm8001_dbg(pm8001_ha, DEV, "Scratchpad 0 Offset: 0x%x value 0x%x\n", 1103 1103 offset, value); 1104 - /** 1104 + /* 1105 1105 * Upper 6 bits describe the offset within PCI config space where BAR 1106 1106 * is located. 1107 1107 */ ··· 1109 1109 pcibar = get_pci_bar_index(pcilogic); 1110 1110 pm8001_dbg(pm8001_ha, INIT, "Scratchpad 0 PCI BAR: %d\n", pcibar); 1111 1111 1112 - /** 1112 + /* 1113 1113 * Make sure the offset falls inside the ioremapped PCI BAR 1114 1114 */ 1115 1115 if (offset > pm8001_ha->io_mem[pcibar].memsize) { ··· 1121 1121 pm8001_ha->main_cfg_tbl_addr = base_addr = 1122 1122 pm8001_ha->io_mem[pcibar].memvirtaddr + offset; 1123 1123 1124 - /** 1124 + /* 1125 1125 * Validate main configuration table address: first DWord should read 1126 1126 * "PMCS" 1127 1127 */ ··· 1385 1385 } 1386 1386 1387 1387 /** 1388 - * pm80xx_encrypt_update - update flash with encryption informtion 1388 + * pm80xx_encrypt_update - update flash with encryption information 1389 1389 * @pm8001_ha: our hba card information. 1390 1390 */ 1391 1391 static int pm80xx_encrypt_update(struct pm8001_hba_info *pm8001_ha) ··· 1422 1422 } 1423 1423 1424 1424 /** 1425 - * pm80xx_chip_init - the main init function that initialize whole PM8001 chip. 1425 + * pm80xx_chip_init - the main init function that initializes whole PM8001 chip. 1426 1426 * @pm8001_ha: our hba card information 1427 1427 */ 1428 1428 static int pm80xx_chip_init(struct pm8001_hba_info *pm8001_ha) ··· 1541 1541 } 1542 1542 1543 1543 /** 1544 - * pm80xx_fatal_errors - returns non zero *ONLY* when fatal errors 1544 + * pm80xx_fatal_errors - returns non-zero *ONLY* when fatal errors 1545 1545 * @pm8001_ha: our hba card information 1546 1546 * 1547 1547 * Fatal errors are recoverable only after a host reboot. ··· 1576 1576 } 1577 1577 1578 1578 /** 1579 - * pm80xx_chip_soft_rst - soft reset the PM8001 chip, so that the clear all 1580 - * the FW register status to the originated status. 1579 + * pm80xx_chip_soft_rst - soft reset the PM8001 chip, so that all 1580 + * FW register status are reset to the originated status. 1581 1581 * @pm8001_ha: our hba card information 1582 1582 */ 1583 1583 ··· 1895 1895 } 1896 1896 1897 1897 /** 1898 - * mpi_ssp_completion- process the event that FW response to the SSP request. 1898 + * mpi_ssp_completion - process the event that FW response to the SSP request. 1899 1899 * @pm8001_ha: our hba card information 1900 1900 * @piomb: the message contents of this outbound message. 1901 1901 * 1902 1902 * When FW has completed a ssp request for example a IO request, after it has 1903 - * filled the SG data with the data, it will trigger this event represent 1904 - * that he has finished the job,please check the coresponding buffer. 1903 + * filled the SG data with the data, it will trigger this event representing 1904 + * that he has finished the job; please check the corresponding buffer. 1905 1905 * So we will tell the caller who maybe waiting the result to tell upper layer 1906 1906 * that the task has been finished. 1907 1907 */ ··· 3217 3217 } 3218 3218 3219 3219 /** 3220 - * pm80xx_hw_event_ack_req- For PM8001,some events need to acknowage to FW. 3220 + * pm80xx_hw_event_ack_req- For PM8001, some events need to acknowledge to FW. 3221 3221 * @pm8001_ha: our hba card information 3222 3222 * @Qnum: the outbound queue message number. 3223 3223 * @SEA: source of event to ack ··· 3275 3275 } 3276 3276 3277 3277 /** 3278 - * hw_event_sas_phy_up -FW tells me a SAS phy up event. 3278 + * hw_event_sas_phy_up - FW tells me a SAS phy up event. 3279 3279 * @pm8001_ha: our hba card information 3280 3280 * @piomb: IO message buffer 3281 3281 */ ··· 3353 3353 } 3354 3354 3355 3355 /** 3356 - * hw_event_sata_phy_up -FW tells me a SATA phy up event. 3356 + * hw_event_sata_phy_up - FW tells me a SATA phy up event. 3357 3357 * @pm8001_ha: our hba card information 3358 3358 * @piomb: IO message buffer 3359 3359 */ ··· 3400 3400 } 3401 3401 3402 3402 /** 3403 - * hw_event_phy_down -we should notify the libsas the phy is down. 3403 + * hw_event_phy_down - we should notify the libsas the phy is down. 3404 3404 * @pm8001_ha: our hba card information 3405 3405 * @piomb: IO message buffer 3406 3406 */ ··· 3500 3500 } 3501 3501 3502 3502 /** 3503 - * mpi_thermal_hw_event -The hw event has come. 3503 + * mpi_thermal_hw_event - a thermal hw event has come. 3504 3504 * @pm8001_ha: our hba card information 3505 3505 * @piomb: IO message buffer 3506 3506 */ ··· 3530 3530 } 3531 3531 3532 3532 /** 3533 - * mpi_hw_event -The hw event has come. 3533 + * mpi_hw_event - The hw event has come. 3534 3534 * @pm8001_ha: our hba card information 3535 3535 * @piomb: IO message buffer 3536 3536 */ ··· 4025 4025 case OPC_OUB_SET_DEV_INFO: 4026 4026 pm8001_dbg(pm8001_ha, MSG, "OPC_OUB_SET_DEV_INFO\n"); 4027 4027 break; 4028 - /* spcv specifc commands */ 4028 + /* spcv specific commands */ 4029 4029 case OPC_OUB_PHY_START_RESP: 4030 4030 pm8001_dbg(pm8001_ha, MSG, 4031 4031 "OPC_OUB_PHY_START_RESP opcode:%x\n", opc); ··· 4186 4186 } 4187 4187 4188 4188 /** 4189 - * pm80xx_chip_smp_req - send a SMP task to FW 4189 + * pm80xx_chip_smp_req - send an SMP task to FW 4190 4190 * @pm8001_ha: our hba card information. 4191 4191 * @ccb: the ccb information this request used. 4192 4192 */ ··· 4346 4346 } 4347 4347 4348 4348 /** 4349 - * pm80xx_chip_ssp_io_req - send a SSP task to FW 4349 + * pm80xx_chip_ssp_io_req - send an SSP task to FW 4350 4350 * @pm8001_ha: our hba card information. 4351 4351 * @ccb: the ccb information this request used. 4352 4352 */ ··· 4750 4750 payload.ase_sh_lm_slr_phyid = cpu_to_le32(SPINHOLD_DISABLE | 4751 4751 LINKMODE_AUTO | pm8001_ha->link_rate | phy_id); 4752 4752 /* SSC Disable and SAS Analog ST configuration */ 4753 - /** 4753 + /* 4754 4754 payload.ase_sh_lm_slr_phyid = 4755 4755 cpu_to_le32(SSC_DISABLE_30 | SAS_ASE | SPINHOLD_DISABLE | 4756 4756 LINKMODE_AUTO | LINKRATE_15 | LINKRATE_30 | LINKRATE_60 | 4757 4757 phy_id); 4758 4758 Have to add "SAS PHY Analog Setup SPASTI 1 Byte" Based on need 4759 - **/ 4759 + */ 4760 4760 4761 4761 payload.sas_identify.dev_type = SAS_END_DEVICE; 4762 4762 payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL;
+1 -1
drivers/scsi/scsi_lib.c
··· 194 194 * @bufflen: len of buffer 195 195 * @sense: optional sense buffer 196 196 * @sshdr: optional decoded sense header 197 - * @timeout: request timeout in seconds 197 + * @timeout: request timeout in HZ 198 198 * @retries: number of times to retry request 199 199 * @flags: flags for ->cmd_flags 200 200 * @rq_flags: flags for ->rq_flags
+7 -2
drivers/scsi/ufs/ufshcd.h
··· 1229 1229 static inline void ufshcd_vops_setup_xfer_req(struct ufs_hba *hba, int tag, 1230 1230 bool is_scsi_cmd) 1231 1231 { 1232 - if (hba->vops && hba->vops->setup_xfer_req) 1233 - return hba->vops->setup_xfer_req(hba, tag, is_scsi_cmd); 1232 + if (hba->vops && hba->vops->setup_xfer_req) { 1233 + unsigned long flags; 1234 + 1235 + spin_lock_irqsave(hba->host->host_lock, flags); 1236 + hba->vops->setup_xfer_req(hba, tag, is_scsi_cmd); 1237 + spin_unlock_irqrestore(hba->host->host_lock, flags); 1238 + } 1234 1239 } 1235 1240 1236 1241 static inline void ufshcd_vops_setup_task_mgmt(struct ufs_hba *hba,