Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 226863
b: refs/heads/master
c: b6d5d88
h: refs/heads/master
i:
  226861: 6816404
  226859: 3af95be
  226855: 7310c36
  226847: 43016ee
v: v3
  • Loading branch information
adam radford authored and James Bottomley committed Dec 23, 2010
1 parent cdb302c commit 3e9f4f0
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 20 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: 80d9da98b4034edd31f6bacdb96c7489c4460173
refs/heads/master: b6d5d8808b4c563a56414a4c4c6d652b5f87c088
1 change: 1 addition & 0 deletions trunk/drivers/scsi/megaraid/megaraid_sas.h
Original file line number Diff line number Diff line change
Expand Up @@ -1338,6 +1338,7 @@ struct megasas_instance {

u8 msi_flag;
struct msix_entry msixentry;
unsigned long bar;
};

enum {
Expand Down
29 changes: 10 additions & 19 deletions trunk/drivers/scsi/megaraid/megaraid_sas_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -3236,21 +3236,14 @@ static int megasas_init_mfi(struct megasas_instance *instance)
u32 tmp_sectors;
struct megasas_register_set __iomem *reg_set;
struct megasas_ctrl_info *ctrl_info;
/*
* Map the message registers
*/
if ((instance->pdev->device == PCI_DEVICE_ID_LSI_SAS1078GEN2) ||
(instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0071SKINNY) ||
(instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0073SKINNY) ||
(instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0079GEN2)) {
instance->base_addr = pci_resource_start(instance->pdev, 1);
} else {
instance->base_addr = pci_resource_start(instance->pdev, 0);
}

if (pci_request_selected_regions(instance->pdev,
pci_select_bars(instance->pdev, IORESOURCE_MEM),
"megasas: LSI")) {
unsigned long bar_list;

/* Find first memory bar */
bar_list = pci_select_bars(instance->pdev, IORESOURCE_MEM);
instance->bar = find_first_bit(&bar_list, sizeof(unsigned long));
instance->base_addr = pci_resource_start(instance->pdev, instance->bar);
if (pci_request_selected_regions(instance->pdev, instance->bar,
"megasas: LSI")) {
printk(KERN_DEBUG "megasas: IO memory region busy!\n");
return -EBUSY;
}
Expand Down Expand Up @@ -3411,8 +3404,7 @@ static int megasas_init_mfi(struct megasas_instance *instance)
iounmap(instance->reg_set);

fail_ioremap:
pci_release_selected_regions(instance->pdev,
pci_select_bars(instance->pdev, IORESOURCE_MEM));
pci_release_selected_regions(instance->pdev, instance->bar);

return -EINVAL;
}
Expand All @@ -3432,8 +3424,7 @@ static void megasas_release_mfi(struct megasas_instance *instance)

iounmap(instance->reg_set);

pci_release_selected_regions(instance->pdev,
pci_select_bars(instance->pdev, IORESOURCE_MEM));
pci_release_selected_regions(instance->pdev, instance->bar);
}

/**
Expand Down

0 comments on commit 3e9f4f0

Please sign in to comment.