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:
"Four small fixes, three in drivers and one in the FC transport class
to add idempotence to state setting"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: scsi_transport_fc: Allow setting rport state to current state
scsi: wd33c93: Don't use stale scsi_pointer value
scsi: fnic: Move flush_work initialization out of if block
scsi: ufs: Use pre-calculated offsets in ufshcd_init_lrb()

+6 -7
+1 -1
drivers/scsi/fnic/fnic_main.c
··· 830 830 spin_lock_init(&fnic->vlans_lock); 831 831 INIT_WORK(&fnic->fip_frame_work, fnic_handle_fip_frame); 832 832 INIT_WORK(&fnic->event_work, fnic_handle_event); 833 - INIT_WORK(&fnic->flush_work, fnic_flush_tx); 834 833 skb_queue_head_init(&fnic->fip_frame_queue); 835 834 INIT_LIST_HEAD(&fnic->evlist); 836 835 INIT_LIST_HEAD(&fnic->vlans); ··· 947 948 948 949 INIT_WORK(&fnic->link_work, fnic_handle_link); 949 950 INIT_WORK(&fnic->frame_work, fnic_handle_frame); 951 + INIT_WORK(&fnic->flush_work, fnic_flush_tx); 950 952 skb_queue_head_init(&fnic->frame_queue); 951 953 skb_queue_head_init(&fnic->tx_queue); 952 954
+2 -2
drivers/scsi/scsi_transport_fc.c
··· 1250 1250 */ 1251 1251 if (rport->port_state == FC_PORTSTATE_ONLINE) 1252 1252 rport->port_state = port_state; 1253 - else 1253 + else if (port_state != rport->port_state) 1254 1254 return -EINVAL; 1255 1255 } else if (port_state == FC_PORTSTATE_ONLINE) { 1256 1256 /* ··· 1260 1260 */ 1261 1261 if (rport->port_state == FC_PORTSTATE_MARGINAL) 1262 1262 rport->port_state = port_state; 1263 - else 1263 + else if (port_state != rport->port_state) 1264 1264 return -EINVAL; 1265 1265 } else 1266 1266 return -EINVAL;
+1 -1
drivers/scsi/wd33c93.c
··· 831 831 /* construct an IDENTIFY message with correct disconnect bit */ 832 832 833 833 hostdata->outgoing_msg[0] = IDENTIFY(0, cmd->device->lun); 834 - if (scsi_pointer->phase) 834 + if (WD33C93_scsi_pointer(cmd)->phase) 835 835 hostdata->outgoing_msg[0] |= 0x40; 836 836 837 837 if (hostdata->sync_stat[cmd->device->id] == SS_FIRST) {
+2 -3
drivers/ufs/core/ufshcd.c
··· 2933 2933 struct utp_transfer_req_desc *utrdlp = hba->utrdl_base_addr; 2934 2934 dma_addr_t cmd_desc_element_addr = hba->ucdl_dma_addr + 2935 2935 i * ufshcd_get_ucd_size(hba); 2936 - u16 response_offset = offsetof(struct utp_transfer_cmd_desc, 2937 - response_upiu); 2938 - u16 prdt_offset = offsetof(struct utp_transfer_cmd_desc, prd_table); 2936 + u16 response_offset = le16_to_cpu(utrdlp[i].response_upiu_offset); 2937 + u16 prdt_offset = le16_to_cpu(utrdlp[i].prd_table_offset); 2939 2938 2940 2939 lrb->utr_descriptor_ptr = utrdlp + i; 2941 2940 lrb->utrd_dma_addr = hba->utrdl_dma_addr +