aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/pcnet32.c5
-rw-r--r--drivers/net/sk98lin/skge.c4
-rw-r--r--drivers/scsi/libata-core.c4
3 files changed, 4 insertions, 9 deletions
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index be319229f543..8f6cf8c896a4 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -1251,12 +1251,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
1251 1251
1252 if (memcmp(promaddr, dev->dev_addr, 6) 1252 if (memcmp(promaddr, dev->dev_addr, 6)
1253 || !is_valid_ether_addr(dev->dev_addr)) { 1253 || !is_valid_ether_addr(dev->dev_addr)) {
1254#ifndef __powerpc__
1255 if (is_valid_ether_addr(promaddr)) { 1254 if (is_valid_ether_addr(promaddr)) {
1256#else
1257 if (!is_valid_ether_addr(dev->dev_addr)
1258 && is_valid_ether_addr(promaddr)) {
1259#endif
1260 if (pcnet32_debug & NETIF_MSG_PROBE) { 1255 if (pcnet32_debug & NETIF_MSG_PROBE) {
1261 printk(" warning: CSR address invalid,\n"); 1256 printk(" warning: CSR address invalid,\n");
1262 printk(KERN_INFO " using instead PROM address of"); 1257 printk(KERN_INFO " using instead PROM address of");
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c
index 00c5d7f04c68..ae7343934758 100644
--- a/drivers/net/sk98lin/skge.c
+++ b/drivers/net/sk98lin/skge.c
@@ -818,7 +818,7 @@ uintptr_t VNextDescr; /* the virtual bus address of the next descriptor */
818 /* set the pointers right */ 818 /* set the pointers right */
819 pDescr->VNextRxd = VNextDescr & 0xffffffffULL; 819 pDescr->VNextRxd = VNextDescr & 0xffffffffULL;
820 pDescr->pNextRxd = pNextDescr; 820 pDescr->pNextRxd = pNextDescr;
821 pDescr->TcpSumStarts = 0; 821 if (!IsTx) pDescr->TcpSumStarts = ETH_HLEN << 16 | ETH_HLEN;
822 822
823 /* advance one step */ 823 /* advance one step */
824 pPrevDescr = pDescr; 824 pPrevDescr = pDescr;
@@ -2169,7 +2169,7 @@ rx_start:
2169 } /* frame > SK_COPY_TRESHOLD */ 2169 } /* frame > SK_COPY_TRESHOLD */
2170 2170
2171#ifdef USE_SK_RX_CHECKSUM 2171#ifdef USE_SK_RX_CHECKSUM
2172 pMsg->csum = pRxd->TcpSums; 2172 pMsg->csum = pRxd->TcpSums & 0xffff;
2173 pMsg->ip_summed = CHECKSUM_HW; 2173 pMsg->ip_summed = CHECKSUM_HW;
2174#else 2174#else
2175 pMsg->ip_summed = CHECKSUM_NONE; 2175 pMsg->ip_summed = CHECKSUM_NONE;
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index e4c400756b23..a0060cf31e0d 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -2456,7 +2456,7 @@ static void ata_sg_clean(struct ata_queued_cmd *qc)
2456 struct scatterlist *psg = &qc->pad_sgent; 2456 struct scatterlist *psg = &qc->pad_sgent;
2457 void *addr = kmap_atomic(psg->page, KM_IRQ0); 2457 void *addr = kmap_atomic(psg->page, KM_IRQ0);
2458 memcpy(addr + psg->offset, pad_buf, qc->pad_len); 2458 memcpy(addr + psg->offset, pad_buf, qc->pad_len);
2459 kunmap_atomic(psg->page, KM_IRQ0); 2459 kunmap_atomic(addr, KM_IRQ0);
2460 } 2460 }
2461 } else { 2461 } else {
2462 if (sg_dma_len(&sg[0]) > 0) 2462 if (sg_dma_len(&sg[0]) > 0)
@@ -2730,7 +2730,7 @@ static int ata_sg_setup(struct ata_queued_cmd *qc)
2730 if (qc->tf.flags & ATA_TFLAG_WRITE) { 2730 if (qc->tf.flags & ATA_TFLAG_WRITE) {
2731 void *addr = kmap_atomic(psg->page, KM_IRQ0); 2731 void *addr = kmap_atomic(psg->page, KM_IRQ0);
2732 memcpy(pad_buf, addr + psg->offset, qc->pad_len); 2732 memcpy(pad_buf, addr + psg->offset, qc->pad_len);
2733 kunmap_atomic(psg->page, KM_IRQ0); 2733 kunmap_atomic(addr, KM_IRQ0);
2734 } 2734 }
2735 2735
2736 sg_dma_address(psg) = ap->pad_dma + (qc->tag * ATA_DMA_PAD_SZ); 2736 sg_dma_address(psg) = ap->pad_dma + (qc->tag * ATA_DMA_PAD_SZ);