diff options
Diffstat (limited to 'drivers/message/fusion/mptsas.c')
-rw-r--r-- | drivers/message/fusion/mptsas.c | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 4f0c530e47b0..09e9a9d96410 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c | |||
@@ -3,9 +3,9 @@ | |||
3 | * For use with LSI Logic PCI chip/adapter(s) | 3 | * For use with LSI Logic PCI chip/adapter(s) |
4 | * running LSI Logic Fusion MPT (Message Passing Technology) firmware. | 4 | * running LSI Logic Fusion MPT (Message Passing Technology) firmware. |
5 | * | 5 | * |
6 | * Copyright (c) 1999-2005 LSI Logic Corporation | 6 | * Copyright (c) 1999-2007 LSI Logic Corporation |
7 | * (mailto:mpt_linux_developer@lsil.com) | 7 | * (mailto:mpt_linux_developer@lsil.com) |
8 | * Copyright (c) 2005-2006 Dell | 8 | * Copyright (c) 2005-2007 Dell |
9 | */ | 9 | */ |
10 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 10 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
11 | /* | 11 | /* |
@@ -75,6 +75,7 @@ | |||
75 | MODULE_AUTHOR(MODULEAUTHOR); | 75 | MODULE_AUTHOR(MODULEAUTHOR); |
76 | MODULE_DESCRIPTION(my_NAME); | 76 | MODULE_DESCRIPTION(my_NAME); |
77 | MODULE_LICENSE("GPL"); | 77 | MODULE_LICENSE("GPL"); |
78 | MODULE_VERSION(my_VERSION); | ||
78 | 79 | ||
79 | static int mpt_pt_clear; | 80 | static int mpt_pt_clear; |
80 | module_param(mpt_pt_clear, int, 0); | 81 | module_param(mpt_pt_clear, int, 0); |
@@ -245,7 +246,8 @@ static void mptsas_print_device_pg0(SasDevicePage0_t *pg0) | |||
245 | printk("Parent Handle=0x%X\n" ,le16_to_cpu(pg0->ParentDevHandle)); | 246 | printk("Parent Handle=0x%X\n" ,le16_to_cpu(pg0->ParentDevHandle)); |
246 | printk("Enclosure Handle=0x%X\n", le16_to_cpu(pg0->EnclosureHandle)); | 247 | printk("Enclosure Handle=0x%X\n", le16_to_cpu(pg0->EnclosureHandle)); |
247 | printk("Slot=0x%X\n", le16_to_cpu(pg0->Slot)); | 248 | printk("Slot=0x%X\n", le16_to_cpu(pg0->Slot)); |
248 | printk("SAS Address=0x%llX\n", le64_to_cpu(sas_address)); | 249 | printk("SAS Address=0x%llX\n", (unsigned long long) |
250 | le64_to_cpu(sas_address)); | ||
249 | printk("Target ID=0x%X\n", pg0->TargetID); | 251 | printk("Target ID=0x%X\n", pg0->TargetID); |
250 | printk("Bus=0x%X\n", pg0->Bus); | 252 | printk("Bus=0x%X\n", pg0->Bus); |
251 | /* The PhyNum field specifies the PHY number of the parent | 253 | /* The PhyNum field specifies the PHY number of the parent |
@@ -349,9 +351,9 @@ mptsas_port_delete(struct mptsas_portinfo_details * port_details) | |||
349 | phy_info = port_info->phy_info; | 351 | phy_info = port_info->phy_info; |
350 | 352 | ||
351 | dsaswideprintk((KERN_DEBUG "%s: [%p]: num_phys=%02d " | 353 | dsaswideprintk((KERN_DEBUG "%s: [%p]: num_phys=%02d " |
352 | "bitmask=0x%016llX\n", | 354 | "bitmask=0x%016llX\n", __FUNCTION__, port_details, |
353 | __FUNCTION__, port_details, port_details->num_phys, | 355 | port_details->num_phys, (unsigned long long) |
354 | port_details->phy_bitmask)); | 356 | port_details->phy_bitmask)); |
355 | 357 | ||
356 | for (i = 0; i < port_info->num_phys; i++, phy_info++) { | 358 | for (i = 0; i < port_info->num_phys; i++, phy_info++) { |
357 | if(phy_info->port_details != port_details) | 359 | if(phy_info->port_details != port_details) |
@@ -476,7 +478,7 @@ mptsas_setup_wide_ports(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info) | |||
476 | for (i = 0 ; i < port_info->num_phys ; i++, phy_info++) { | 478 | for (i = 0 ; i < port_info->num_phys ; i++, phy_info++) { |
477 | sas_address = phy_info->attached.sas_address; | 479 | sas_address = phy_info->attached.sas_address; |
478 | dsaswideprintk((KERN_DEBUG "phy_id=%d sas_address=0x%018llX\n", | 480 | dsaswideprintk((KERN_DEBUG "phy_id=%d sas_address=0x%018llX\n", |
479 | i, sas_address)); | 481 | i, (unsigned long long)sas_address)); |
480 | if (!sas_address) | 482 | if (!sas_address) |
481 | continue; | 483 | continue; |
482 | port_details = phy_info->port_details; | 484 | port_details = phy_info->port_details; |
@@ -495,8 +497,8 @@ mptsas_setup_wide_ports(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info) | |||
495 | (1 << phy_info->phy_id); | 497 | (1 << phy_info->phy_id); |
496 | phy_info->sas_port_add_phy=1; | 498 | phy_info->sas_port_add_phy=1; |
497 | dsaswideprintk((KERN_DEBUG "\t\tForming port\n\t\t" | 499 | dsaswideprintk((KERN_DEBUG "\t\tForming port\n\t\t" |
498 | "phy_id=%d sas_address=0x%018llX\n", | 500 | "phy_id=%d sas_address=0x%018llX\n", |
499 | i, sas_address)); | 501 | i, (unsigned long long)sas_address)); |
500 | phy_info->port_details = port_details; | 502 | phy_info->port_details = port_details; |
501 | } | 503 | } |
502 | 504 | ||
@@ -512,8 +514,9 @@ mptsas_setup_wide_ports(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info) | |||
512 | if (phy_info_cmp->port_details == port_details ) | 514 | if (phy_info_cmp->port_details == port_details ) |
513 | continue; | 515 | continue; |
514 | dsaswideprintk((KERN_DEBUG | 516 | dsaswideprintk((KERN_DEBUG |
515 | "\t\tphy_id=%d sas_address=0x%018llX\n", | 517 | "\t\tphy_id=%d sas_address=0x%018llX\n", |
516 | j, phy_info_cmp->attached.sas_address)); | 518 | j, (unsigned long long) |
519 | phy_info_cmp->attached.sas_address)); | ||
517 | if (phy_info_cmp->port_details) { | 520 | if (phy_info_cmp->port_details) { |
518 | port_details->rphy = | 521 | port_details->rphy = |
519 | mptsas_get_rphy(phy_info_cmp); | 522 | mptsas_get_rphy(phy_info_cmp); |
@@ -546,11 +549,10 @@ mptsas_setup_wide_ports(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info) | |||
546 | if (!port_details) | 549 | if (!port_details) |
547 | continue; | 550 | continue; |
548 | dsaswideprintk((KERN_DEBUG | 551 | dsaswideprintk((KERN_DEBUG |
549 | "%s: [%p]: phy_id=%02d num_phys=%02d " | 552 | "%s: [%p]: phy_id=%02d num_phys=%02d " |
550 | "bitmask=0x%016llX\n", | 553 | "bitmask=0x%016llX\n", __FUNCTION__, |
551 | __FUNCTION__, | 554 | port_details, i, port_details->num_phys, |
552 | port_details, i, port_details->num_phys, | 555 | (unsigned long long)port_details->phy_bitmask)); |
553 | port_details->phy_bitmask)); | ||
554 | dsaswideprintk((KERN_DEBUG"\t\tport = %p rphy=%p\n", | 556 | dsaswideprintk((KERN_DEBUG"\t\tport = %p rphy=%p\n", |
555 | port_details->port, port_details->rphy)); | 557 | port_details->port, port_details->rphy)); |
556 | } | 558 | } |
@@ -2079,8 +2081,10 @@ mptsas_persist_clear_table(struct work_struct *work) | |||
2079 | static void | 2081 | static void |
2080 | mptsas_reprobe_lun(struct scsi_device *sdev, void *data) | 2082 | mptsas_reprobe_lun(struct scsi_device *sdev, void *data) |
2081 | { | 2083 | { |
2084 | int rc; | ||
2085 | |||
2082 | sdev->no_uld_attach = data ? 1 : 0; | 2086 | sdev->no_uld_attach = data ? 1 : 0; |
2083 | scsi_device_reprobe(sdev); | 2087 | rc = scsi_device_reprobe(sdev); |
2084 | } | 2088 | } |
2085 | 2089 | ||
2086 | static void | 2090 | static void |