[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: Re: 3ware 9650 and Xen 3.1
ok, i finally got it to boot, i had to do some digging and used the previous 3ware driver version and it works, not here's the diff of the two... doesnt look like too much was changed so i figured i would paste it and see if you had a idea about if the problem was with 3wares driver or somthing in the xen kernel patch... [root@devhost1 3w-drivers]# diff -dNuar 9.4.0.1 9.4.1.2 diff -dNuar 9.4.0.1/3w-9xxx.c 9.4.1.2/3w-9xxx.c --- 9.4.0.1/3w-9xxx.c 2006-10-20 13:22:02.000000000 -0700 +++ 9.4.1.2/3w-9xxx.c 2007-01-23 16:57:56.000000000 -0800 @@ -4,7 +4,7 @@ Written By: Adam Radford <linuxraid@xxxxxxxx> Modifications By: Tom Couch <linuxraid@xxxxxxxx> - Copyright (C) 2004-2006 Applied Micro Circuits Corporation. + Copyright (C) 2004-2007 Applied Micro Circuits Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,9 +66,10 @@ 2.26.02.006 - Fix 9550SX pchip reset timeout. Add big endian support. 2.26.02.007 - Disable local interrupts during kmap/unmap_atomic(). - 2.26.02.008 - Free irq handler in __twa_shutdown(). + 2.26.06.001 - Free irq handler in __twa_shutdown(). Serialize reset code. Add support for 9650SE controllers.+ 2.26.06.002 - Fix dma mask setting to fallback to 32-bit if 64-bit fails. */ #include <linux/module.h> @@ -92,7 +93,7 @@ #include "3w-9xxx.h" /* Globals */ -#define TW_DRIVER_VERSION "2.26.02.008" +#define TW_DRIVER_VERSION "2.26.06.002-2.6.19" static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT]; static unsigned int twa_device_extension_count; static int twa_major = -1; @@ -1196,7 +1197,6 @@ u32 status_reg_value; TW_Response_Queue response_que; TW_Command_Full *full_command_packet; - TW_Command *command_packet; TW_Device_Extension *tw_dev = (TW_Device_Extension *)dev_instance; int handled = 0; @@ -1274,7 +1274,6 @@ request_id = TW_RESID_OUT(response_que.response_id);full_command_packet = tw_dev->command_packet_virt[request_id]; error = 0;- command_packet = &full_command_packet->command.oldcommand; /* Check for command packet errors */if (full_command_packet->command.newcommand.status != 0) { if (tw_dev->srb[request_id] != 0) { @@ -2063,11 +2062,14 @@ pci_set_master(pdev);- retval = pci_set_dma_mask(pdev, sizeof(dma_addr_t) > 4 ? DMA_64BIT_MASK : DMA_32BIT_MASK); - if (retval) { - TW_PRINTK(host, TW_DRIVER, 0x23, "Failed to set dma mask"); - goto out_disable_device; - } + if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) + || pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK)) + if (pci_set_dma_mask(pdev, DMA_32BIT_MASK) + || pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK)) {+ TW_PRINTK(host, TW_DRIVER, 0x23, "Failed to set dma mask"); + retval = -ENODEV; + goto out_disable_device; + }host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension)); if (!host) { @@ -2147,7 +2149,7 @@TW_PARAM_PORTCOUNT, TW_PARAM_PORTCOUNT_LENGTH))); /* Now setup the interrupt handler */- retval = request_irq(pdev->irq, twa_interrupt, SA_SHIRQ, "3w-9xxx", tw_dev); + retval = request_irq(pdev->irq, twa_interrupt, IRQF_SHARED, "3w-9xxx", tw_dev); if (retval) {TW_PRINTK(tw_dev->host, TW_DRIVER, 0x30, "Error requesting IRQ"); goto out_remove_host; @@ -2240,7 +2242,7 @@ {printk(KERN_WARNING "3ware 9000 Storage Controller device driver for Linux v%s.\n", TW_DRIVER_VERSION); - return pci_register_driver(&twa_driver); + return pci_module_init(&twa_driver); } /* End twa_init() *//* This function is called on driver exit */ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |