hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/atm/eni.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /* drivers/atm/eni.c - Efficient Networks ENI155P device driver */
23
34 /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
....@@ -29,12 +30,6 @@
2930 #include "midway.h"
3031 #include "suni.h"
3132 #include "eni.h"
32
-
33
-#if !defined(__i386__) && !defined(__x86_64__)
34
-#ifndef ioremap_nocache
35
-#define ioremap_nocache(X,Y) ioremap(X,Y)
36
-#endif
37
-#endif
3833
3934 /*
4035 * TODO:
....@@ -241,7 +236,8 @@
241236 len = eni_dev->free_len;
242237 if (*size < MID_MIN_BUF_SIZE) *size = MID_MIN_BUF_SIZE;
243238 if (*size > MID_MAX_BUF_SIZE) return NULL;
244
- for (order = 0; (1 << order) < *size; order++);
239
+ for (order = 0; (1 << order) < *size; order++)
240
+ ;
245241 DPRINTK("trying: %ld->%d\n",*size,order);
246242 best_order = 65; /* we don't have more than 2^64 of anything ... */
247243 index = 0; /* silence GCC */
....@@ -1038,6 +1034,7 @@
10381034 u32 dma_rd,dma_wr;
10391035 u32 size; /* in words */
10401036 int aal5,dma_size,i,j;
1037
+ unsigned char skb_data3;
10411038
10421039 DPRINTK(">do_tx\n");
10431040 NULLCHECK(skb);
....@@ -1112,8 +1109,11 @@
11121109 vcc->dev->number);
11131110 return enq_jam;
11141111 }
1112
+ skb_data3 = skb->data[3];
11151113 paddr = dma_map_single(&eni_dev->pci_dev->dev,skb->data,skb->len,
11161114 DMA_TO_DEVICE);
1115
+ if (dma_mapping_error(&eni_dev->pci_dev->dev, paddr))
1116
+ return enq_next;
11171117 ENI_PRV_PADDR(skb) = paddr;
11181118 /* prepare DMA queue entries */
11191119 j = 0;
....@@ -1134,7 +1134,7 @@
11341134 else
11351135 put_dma(tx->index,eni_dev->dma,&j,(unsigned long)
11361136 skb_frag_page(&skb_shinfo(skb)->frags[i]) +
1137
- skb_shinfo(skb)->frags[i].page_offset,
1137
+ skb_frag_off(&skb_shinfo(skb)->frags[i]),
11381138 skb_frag_size(&skb_shinfo(skb)->frags[i]));
11391139 }
11401140 if (skb->len & 3) {
....@@ -1154,7 +1154,7 @@
11541154 (size/(ATM_CELL_PAYLOAD/4)),tx->send+tx->tx_pos*4);
11551155 /*printk("dsc = 0x%08lx\n",(unsigned long) readl(tx->send+tx->tx_pos*4));*/
11561156 writel((vcc->vci << MID_SEG_VCI_SHIFT) |
1157
- (aal5 ? 0 : (skb->data[3] & 0xf)) |
1157
+ (aal5 ? 0 : (skb_data3 & 0xf)) |
11581158 (ATM_SKB(skb)->atm_options & ATM_ATMOPT_CLP ? MID_SEG_CLP : 0),
11591159 tx->send+((tx->tx_pos+1) & (tx->words-1))*4);
11601160 DPRINTK("size: %d, len:%d\n",size,skb->len);
....@@ -1723,7 +1723,7 @@
17231723 }
17241724 printk(KERN_NOTICE DEV_LABEL "(itf %d): rev.%d,base=0x%lx,irq=%d,",
17251725 dev->number,pci_dev->revision,real_base,eni_dev->irq);
1726
- if (!(base = ioremap_nocache(real_base,MAP_MAX_SIZE))) {
1726
+ if (!(base = ioremap(real_base,MAP_MAX_SIZE))) {
17271727 printk("\n");
17281728 printk(KERN_ERR DEV_LABEL "(itf %d): can't set up page "
17291729 "mapping\n",dev->number);
....@@ -2031,21 +2031,6 @@
20312031 return dev->phy->ioctl(dev,cmd,arg);
20322032 }
20332033
2034
-
2035
-static int eni_getsockopt(struct atm_vcc *vcc,int level,int optname,
2036
- void __user *optval,int optlen)
2037
-{
2038
- return -EINVAL;
2039
-}
2040
-
2041
-
2042
-static int eni_setsockopt(struct atm_vcc *vcc,int level,int optname,
2043
- void __user *optval,unsigned int optlen)
2044
-{
2045
- return -EINVAL;
2046
-}
2047
-
2048
-
20492034 static int eni_send(struct atm_vcc *vcc,struct sk_buff *skb)
20502035 {
20512036 enum enq_res res;
....@@ -2219,8 +2204,6 @@
22192204 .open = eni_open,
22202205 .close = eni_close,
22212206 .ioctl = eni_ioctl,
2222
- .getsockopt = eni_getsockopt,
2223
- .setsockopt = eni_setsockopt,
22242207 .send = eni_send,
22252208 .phy_put = eni_phy_put,
22262209 .phy_get = eni_phy_get,