Fix Samsung pci-e SSD handling on some macbooks (rhbz 1161805)
This commit is contained in:
		
							parent
							
								
									9a2db57bfd
								
							
						
					
					
						commit
						09115662e1
					
				
							
								
								
									
										67
									
								
								ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,67 @@ | ||||
| From: Tejun Heo <tj@kernel.org> | ||||
| Date: Mon, 27 Oct 2014 10:30:52 -0400 | ||||
| Subject: [PATCH] ahci: disable MSI instead of NCQ on Samsung pci-e SSDs on | ||||
|  macbooks | ||||
| 
 | ||||
| From 44aecdabc85087e7c299d7a28e095e2b91894a51 Mon Sep 17 00:00:00 2001 | ||||
| From: Tejun Heo <tj@kernel.org> | ||||
| Date: Mon, 27 Oct 2014 10:22:56 -0400 | ||||
| 
 | ||||
| Samsung pci-e SSDs on macbooks failed miserably on NCQ commands, so | ||||
| 67809f85d31e ("ahci: disable NCQ on Samsung pci-e SSDs on macbooks") | ||||
| disabled NCQ on them.  It turns out that NCQ is fine as long as MSI is | ||||
| not used, so let's turn off MSI and leave NCQ on. | ||||
| 
 | ||||
| Signed-off-by: Tejun Heo <tj@kernel.org> | ||||
| Link: https://bugzilla.kernel.org/show_bug.cgi?id=60731 | ||||
| Tested-by: <dorin@i51.org> | ||||
| Tested-by: Imre Kaloz <kaloz@openwrt.org> | ||||
| Cc: stable@vger.kernel.org | ||||
| Fixes: 67809f85d31e ("ahci: disable NCQ on Samsung pci-e SSDs on macbooks") | ||||
| ---
 | ||||
|  drivers/ata/ahci.c | 14 +++++++++++--- | ||||
|  1 file changed, 11 insertions(+), 3 deletions(-) | ||||
| 
 | ||||
| diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
 | ||||
| index 5f039f191067..ef4b647b3ed2 100644
 | ||||
| --- a/drivers/ata/ahci.c
 | ||||
| +++ b/drivers/ata/ahci.c
 | ||||
| @@ -60,6 +60,7 @@ enum board_ids {
 | ||||
|  	/* board IDs by feature in alphabetical order */ | ||||
|  	board_ahci, | ||||
|  	board_ahci_ign_iferr, | ||||
| +	board_ahci_nomsi,
 | ||||
|  	board_ahci_noncq, | ||||
|  	board_ahci_nosntf, | ||||
|  	board_ahci_yes_fbs, | ||||
| @@ -121,6 +122,13 @@ static const struct ata_port_info ahci_port_info[] = {
 | ||||
|  		.udma_mask	= ATA_UDMA6, | ||||
|  		.port_ops	= &ahci_ops, | ||||
|  	}, | ||||
| +	[board_ahci_nomsi] = {
 | ||||
| +		AHCI_HFLAGS	(AHCI_HFLAG_NO_MSI),
 | ||||
| +		.flags		= AHCI_FLAG_COMMON,
 | ||||
| +		.pio_mask	= ATA_PIO4,
 | ||||
| +		.udma_mask	= ATA_UDMA6,
 | ||||
| +		.port_ops	= &ahci_ops,
 | ||||
| +	},
 | ||||
|  	[board_ahci_noncq] = { | ||||
|  		AHCI_HFLAGS	(AHCI_HFLAG_NO_NCQ), | ||||
|  		.flags		= AHCI_FLAG_COMMON, | ||||
| @@ -475,10 +483,10 @@ static const struct pci_device_id ahci_pci_tbl[] = {
 | ||||
|  	{ PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci },	/* ASM1062 */ | ||||
|   | ||||
|  	/* | ||||
| -	 * Samsung SSDs found on some macbooks.  NCQ times out.
 | ||||
| -	 * https://bugzilla.kernel.org/show_bug.cgi?id=60731
 | ||||
| +	 * Samsung SSDs found on some macbooks.  NCQ times out if MSI is
 | ||||
| +	 * enabled.  https://bugzilla.kernel.org/show_bug.cgi?id=60731
 | ||||
|  	 */ | ||||
| -	{ PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_noncq },
 | ||||
| +	{ PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_nomsi },
 | ||||
|   | ||||
|  	/* Enmotus */ | ||||
|  	{ PCI_DEVICE(0x1c44, 0x8000), board_ahci }, | ||||
| -- 
 | ||||
| 1.9.3 | ||||
| 
 | ||||
| @ -616,6 +616,9 @@ Patch26064: Input-add-driver-for-the-Goodix-touchpanel.patch | ||||
| 
 | ||||
| Patch26065: sched-Remove-lockdep-check-in-sched_move_task.patch | ||||
| 
 | ||||
| #rhbz 1161805 | ||||
| Patch26066: ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch | ||||
| 
 | ||||
| # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel | ||||
| Patch30000: kernel-arm64.patch | ||||
| 
 | ||||
| @ -1341,6 +1344,9 @@ ApplyPatch Input-add-driver-for-the-Goodix-touchpanel.patch | ||||
| 
 | ||||
| ApplyPatch sched-Remove-lockdep-check-in-sched_move_task.patch | ||||
| 
 | ||||
| #rhbz 1161805 | ||||
| ApplyPatch ahci-disable-MSI-instead-of-NCQ-on-Samsung-pci-e-SSD.patch | ||||
| 
 | ||||
| %if 0%{?aarch64patches} | ||||
| ApplyPatch kernel-arm64.patch | ||||
| %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. | ||||
| @ -2209,6 +2215,9 @@ fi | ||||
| #                                    ||----w | | ||||
| #                                    ||     || | ||||
| %changelog | ||||
| * Mon Nov 10 2014 Josh Boyer <jwboyer@fedoraproject.org> | ||||
| - Fix Samsung pci-e SSD handling on some macbooks (rhbz 1161805) | ||||
| 
 | ||||
| * Mon Nov 10 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.18.0-0.rc4.git0.1 | ||||
| - Linux v3.18-rc4 | ||||
| - Temporarily disable aarch64patches | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user