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:
"This is a set of five minor fixes (although, tecnhincally, the aicxxx
fix is for a major problem in that the driver won't load without it,
but I think the fact it's taken us since 4.10 to discover this
indicates that the user base for these things has declined)"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: cxlflash: Prevent deadlock when adapter probe fails
Revert "scsi: libfc: Add WARN_ON() when deleting rports"
scsi: sd_zbc: Fix zone information messages
scsi: target: make the pi_prot_format ConfigFS path readable
scsi: aic94xx: fix module loading

+21 -10
+4 -4
drivers/scsi/aic94xx/aic94xx_init.c
··· 280 280 return snprintf(buf, PAGE_SIZE, "%s\n", 281 281 asd_dev_rev[asd_ha->revision_id]); 282 282 } 283 - static DEVICE_ATTR(revision, S_IRUGO, asd_show_dev_rev, NULL); 283 + static DEVICE_ATTR(aic_revision, S_IRUGO, asd_show_dev_rev, NULL); 284 284 285 285 static ssize_t asd_show_dev_bios_build(struct device *dev, 286 286 struct device_attribute *attr,char *buf) ··· 477 477 { 478 478 int err; 479 479 480 - err = device_create_file(&asd_ha->pcidev->dev, &dev_attr_revision); 480 + err = device_create_file(&asd_ha->pcidev->dev, &dev_attr_aic_revision); 481 481 if (err) 482 482 return err; 483 483 ··· 499 499 err_biosb: 500 500 device_remove_file(&asd_ha->pcidev->dev, &dev_attr_bios_build); 501 501 err_rev: 502 - device_remove_file(&asd_ha->pcidev->dev, &dev_attr_revision); 502 + device_remove_file(&asd_ha->pcidev->dev, &dev_attr_aic_revision); 503 503 return err; 504 504 } 505 505 506 506 static void asd_remove_dev_attrs(struct asd_ha_struct *asd_ha) 507 507 { 508 - device_remove_file(&asd_ha->pcidev->dev, &dev_attr_revision); 508 + device_remove_file(&asd_ha->pcidev->dev, &dev_attr_aic_revision); 509 509 device_remove_file(&asd_ha->pcidev->dev, &dev_attr_bios_build); 510 510 device_remove_file(&asd_ha->pcidev->dev, &dev_attr_pcba_sn); 511 511 device_remove_file(&asd_ha->pcidev->dev, &dev_attr_update_bios);
+2
drivers/scsi/cxlflash/main.c
··· 3687 3687 host->max_cmd_len = CXLFLASH_MAX_CDB_LEN; 3688 3688 3689 3689 cfg = shost_priv(host); 3690 + cfg->state = STATE_PROBING; 3690 3691 cfg->host = host; 3691 3692 rc = alloc_mem(cfg); 3692 3693 if (rc) { ··· 3776 3775 return rc; 3777 3776 3778 3777 out_remove: 3778 + cfg->state = STATE_PROBED; 3779 3779 cxlflash_remove(pdev); 3780 3780 goto out; 3781 3781 }
-1
drivers/scsi/libfc/fc_rport.c
··· 184 184 struct fc_rport_priv *rdata; 185 185 186 186 rdata = container_of(kref, struct fc_rport_priv, kref); 187 - WARN_ON(!list_empty(&rdata->peers)); 188 187 kfree_rcu(rdata, rcu); 189 188 } 190 189 EXPORT_SYMBOL(fc_rport_destroy);
+8 -4
drivers/scsi/sd_zbc.c
··· 462 462 sdkp->device->use_10_for_rw = 0; 463 463 464 464 /* 465 - * If something changed, revalidate the disk zone bitmaps once we have 466 - * the capacity, that is on the second revalidate execution during disk 467 - * scan and always during normal revalidate. 465 + * Revalidate the disk zone bitmaps once the block device capacity is 466 + * set on the second revalidate execution during disk scan and if 467 + * something changed when executing a normal revalidate. 468 468 */ 469 - if (sdkp->first_scan) 469 + if (sdkp->first_scan) { 470 + sdkp->zone_blocks = zone_blocks; 471 + sdkp->nr_zones = nr_zones; 470 472 return 0; 473 + } 474 + 471 475 if (sdkp->zone_blocks != zone_blocks || 472 476 sdkp->nr_zones != nr_zones || 473 477 disk->queue->nr_zones != nr_zones) {
+7 -1
drivers/target/target_core_configfs.c
··· 852 852 return count; 853 853 } 854 854 855 + /* always zero, but attr needs to remain RW to avoid userspace breakage */ 856 + static ssize_t pi_prot_format_show(struct config_item *item, char *page) 857 + { 858 + return snprintf(page, PAGE_SIZE, "0\n"); 859 + } 860 + 855 861 static ssize_t pi_prot_format_store(struct config_item *item, 856 862 const char *page, size_t count) 857 863 { ··· 1138 1132 CONFIGFS_ATTR(, emulate_pr); 1139 1133 CONFIGFS_ATTR(, pi_prot_type); 1140 1134 CONFIGFS_ATTR_RO(, hw_pi_prot_type); 1141 - CONFIGFS_ATTR_WO(, pi_prot_format); 1135 + CONFIGFS_ATTR(, pi_prot_format); 1142 1136 CONFIGFS_ATTR(, pi_prot_verify); 1143 1137 CONFIGFS_ATTR(, enforce_pr_isids); 1144 1138 CONFIGFS_ATTR(, is_nonrot);