public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] rsxx: Two important bug fixes for the rsxx block driver.
@ 2013-10-18 22:09 Philip J. Kelleher
  2013-10-23 11:25 ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Philip J. Kelleher @ 2013-10-18 22:09 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel, brking

The incoming patches are for the rsxx driver (drivers/block/rsxx)

Patch1:
This patch fixes a bug in which discards were always
calling pci_unmap_page. Discards should never call the
pci_unmap_page function call because they are never mapped.

This caused a race condition on PowerPC systems when issuing
discards, writes, and reads all at the same time. The
pci_map_page function would eventually map logical address
0 for a read or write. Discards are always assigned a DMA
address of 0 because they are never mapped. So if
pci_map_page mapped address 0 for a DMA and a discard was
"unmapped" then the address would be freed and would cause 
an EEH event to occur when Hardware accesses the address.

This was injected/uncovered in commit:
b347f9cf0bc8d42ee95ba1d3837fd93045ab336b

The pci_dma_mapping_error function declares -1 a DMA_ERROR
not 0 like initially thought.

This patch should fall on top of commit id:
fc1967bb08a6184ed44ef990e1dd4389901b809c


Patch2:
This patch fixes a possible Kernel Panic on driver load if 
the configuration on the card is messed up or not yet set.
The driver could possible give a 32 bit unsigned all Fs to
the kernel as the device's block size.

Now we only write the block size to the kernel if the
configuration from the card is valid.

Regards,
- Philip Kelleher
	


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-10-23 11:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-18 22:09 [PATCH 0/2] rsxx: Two important bug fixes for the rsxx block driver Philip J. Kelleher
2013-10-23 11:25 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox