Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 316769
b: refs/heads/master
c: bbeb79b
h: refs/heads/master
i:
  316767: 8aae97b
v: v3
  • Loading branch information
James Smart authored and James Bottomley committed Jul 20, 2012
1 parent e85fdb3 commit 0fa4c61
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3b3da6a974357887c73c5ee61988dbe3a8f62d88
refs/heads/master: bbeb79b90e806da2e2338bd8d89c6fa8a1333357
35 changes: 33 additions & 2 deletions trunk/drivers/scsi/lpfc/lpfc_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -5514,14 +5514,45 @@ lpfc_destroy_shost(struct lpfc_hba *phba)
static void
lpfc_setup_bg(struct lpfc_hba *phba, struct Scsi_Host *shost)
{
uint32_t old_mask;
uint32_t old_guard;

int pagecnt = 10;
if (lpfc_prot_mask && lpfc_prot_guard) {
lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
"1478 Registering BlockGuard with the "
"SCSI layer\n");
scsi_host_set_prot(shost, lpfc_prot_mask);
scsi_host_set_guard(shost, lpfc_prot_guard);

old_mask = lpfc_prot_mask;
old_guard = lpfc_prot_guard;

/* Only allow supported values */
lpfc_prot_mask &= (SHOST_DIF_TYPE1_PROTECTION |
SHOST_DIX_TYPE0_PROTECTION |
SHOST_DIX_TYPE1_PROTECTION);
lpfc_prot_guard &= (SHOST_DIX_GUARD_IP | SHOST_DIX_GUARD_CRC);

/* DIF Type 1 protection for profiles AST1/C1 is end to end */
if (lpfc_prot_mask == SHOST_DIX_TYPE1_PROTECTION)
lpfc_prot_mask |= SHOST_DIF_TYPE1_PROTECTION;

if (lpfc_prot_mask && lpfc_prot_guard) {
if ((old_mask != lpfc_prot_mask) ||
(old_guard != lpfc_prot_guard))
lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
"1475 Registering BlockGuard with the "
"SCSI layer: mask %d guard %d\n",
lpfc_prot_mask, lpfc_prot_guard);

scsi_host_set_prot(shost, lpfc_prot_mask);
scsi_host_set_guard(shost, lpfc_prot_guard);
} else
lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
"1479 Not Registering BlockGuard with the SCSI "
"layer, Bad protection parameters: %d %d\n",
old_mask, old_guard);
}

if (!_dump_buf_data) {
while (pagecnt) {
spin_lock_init(&_dump_buf_lock);
Expand Down

0 comments on commit 0fa4c61

Please sign in to comment.