Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6bff9bb

Browse files
committed
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley: "Five small fixes. Four in drivers: - hisi_sas: fix internal queue timeout - be2iscsi: revert a prior fix causing problems - bnx2i: add missing dependency - storvsc: late arriving revert of a problem fix and one in the core. The core one is a minor change to stop paying attention to the busy count when returning out of resources because there's a race window where the queue might not restart due to missing returning I/O"* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: Revert "scsi: storvsc: Validate length of incoming packet in storvsc_on_channel_callback()" scsi: hisi_sas: Select a suitable queue for internal I/Os scsi: core: Fix race between handling STS_RESOURCE and completion scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" scsi: bnx2i: Requires MMU
2 parents5ee595d +4da3a54 commit6bff9bb

File tree

6 files changed

+15
-9
lines changed

6 files changed

+15
-9
lines changed

‎drivers/scsi/be2iscsi/be_main.c‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3020,7 +3020,6 @@ static int beiscsi_create_eqs(struct beiscsi_hba *phba,
30203020
gotocreate_eq_error;
30213021
}
30223022

3023-
mem->dma=paddr;
30243023
mem->va=eq_vaddress;
30253024
ret=be_fill_queue(eq,phba->params.num_eq_entries,
30263025
sizeof(structbe_eq_entry),eq_vaddress);
@@ -3030,6 +3029,7 @@ static int beiscsi_create_eqs(struct beiscsi_hba *phba,
30303029
gotocreate_eq_error;
30313030
}
30323031

3032+
mem->dma=paddr;
30333033
ret=beiscsi_cmd_eq_create(&phba->ctrl,eq,
30343034
BEISCSI_EQ_DELAY_DEF);
30353035
if (ret) {
@@ -3086,7 +3086,6 @@ static int beiscsi_create_cqs(struct beiscsi_hba *phba,
30863086
gotocreate_cq_error;
30873087
}
30883088

3089-
mem->dma=paddr;
30903089
ret=be_fill_queue(cq,phba->params.num_cq_entries,
30913090
sizeof(structsol_cqe),cq_vaddress);
30923091
if (ret) {
@@ -3096,6 +3095,7 @@ static int beiscsi_create_cqs(struct beiscsi_hba *phba,
30963095
gotocreate_cq_error;
30973096
}
30983097

3098+
mem->dma=paddr;
30993099
ret=beiscsi_cmd_cq_create(&phba->ctrl,cq,eq, false,
31003100
false,0);
31013101
if (ret) {

‎drivers/scsi/bnx2i/Kconfig‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ config SCSI_BNX2_ISCSI
44
depends on NET
55
depends on PCI
66
depends on (IPV6 || IPV6=n)
7+
depends on MMU
78
select SCSI_ISCSI_ATTRS
89
select NETDEVICES
910
select ETHERNET

‎drivers/scsi/hisi_sas/hisi_sas_main.c‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,12 @@ static int hisi_sas_task_prep(struct sas_task *task,
452452
blk_tag=blk_mq_unique_tag(scmd->request);
453453
dq_index=blk_mq_unique_tag_to_hwq(blk_tag);
454454
*dq_pointer=dq=&hisi_hba->dq[dq_index];
455+
}elseif (hisi_hba->shost->nr_hw_queues) {
456+
structScsi_Host*shost=hisi_hba->shost;
457+
structblk_mq_queue_map*qmap=&shost->tag_set.map[HCTX_TYPE_DEFAULT];
458+
intqueue=qmap->mq_map[raw_smp_processor_id()];
459+
460+
*dq_pointer=dq=&hisi_hba->dq[queue];
455461
}else {
456462
*dq_pointer=dq=sas_dev->dq;
457463
}

‎drivers/scsi/hisi_sas/hisi_sas_v3_hw.c‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2452,6 +2452,11 @@ static int interrupt_init_v3_hw(struct hisi_hba *hisi_hba)
24522452
rc=-ENOENT;
24532453
gotofree_irq_vectors;
24542454
}
2455+
cq->irq_mask=pci_irq_get_affinity(pdev,i+BASE_VECTORS_V3_HW);
2456+
if (!cq->irq_mask) {
2457+
dev_err(dev,"could not get cq%d irq affinity!\n",i);
2458+
return-ENOENT;
2459+
}
24552460
}
24562461

24572462
return0;

‎drivers/scsi/scsi_lib.c‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1703,8 +1703,7 @@ static blk_status_t scsi_queue_rq(struct blk_mq_hw_ctx *hctx,
17031703
break;
17041704
caseBLK_STS_RESOURCE:
17051705
caseBLK_STS_ZONE_RESOURCE:
1706-
if (atomic_read(&sdev->device_busy)||
1707-
scsi_device_blocked(sdev))
1706+
if (scsi_device_blocked(sdev))
17081707
ret=BLK_STS_DEV_RESOURCE;
17091708
break;
17101709
default:

‎drivers/scsi/storvsc_drv.c‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,11 +1246,6 @@ static void storvsc_on_channel_callback(void *context)
12461246
request= (structstorvsc_cmd_request*)
12471247
((unsigned long)desc->trans_id);
12481248

1249-
if (hv_pkt_datalen(desc)<sizeof(structvstor_packet)-vmscsi_size_delta) {
1250-
dev_err(&device->device,"Invalid packet len\n");
1251-
continue;
1252-
}
1253-
12541249
if (request==&stor_device->init_request||
12551250
request==&stor_device->reset_request) {
12561251
memcpy(&request->vstor_packet,packet,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp