/*
* This file is only included exactly once!
*
* The tables here are derived from the tas3004 datasheet,
* modulo typo corrections and some smoothing...
*/
#define TAS3004_TREBLE_MIN 0
#define TAS3004_TREBLE_MAX 72
#define TAS3004_BASS_MIN 0
#define TAS3004_BASS_MAX 72
#define TAS3004_TREBLE_ZERO 36
#define TAS3004_BASS_ZERO 36
static u8 tas3004_treble_table[] = {
150, /* -18 dB */
149,
148,
147,
146,
145,
144,
143,
142,
141,
140,
139,
138,
137,
136,
135,
134,
133,
132,
131,
130,
129,
128,
127,
126,
125,
124,
123,
122,
121,
120,
119,
118,
117,
116,
115,
114, /* 0 dB */
113,
112,
111,
109,
108,
107,
105,
104,
103,
101,
99,
98,
96,
93,
91,
89,
86,
83,
81,
77,
74,
71,
67,
63,
59,
54,
49,
44,
38,
32,
26,
19,
10,
4,
2,
1, /* +18 dB */
};
static inline u8 tas3004_treble(int idx)
{
return tas3004_treble_table[idx];
}
/* I only save the difference here to the treble table
* so that the binary is smaller...
* I have also ignored completely differences of
* +/- 1
*/
static s8 tas3004_bass_diff_to_treble[] = {
2, /* 7 dB, offset 50 */
2,
2,
2,
2,
1,
2,
2,
2,
3,
4,
4,
5,
6,
7,
8,
9,
10,
11,
14,
13,
8,
1, /* 18 dB */
};
static inline u8 tas3004_bass(int idx)
{
u8 result = tas3004_treble_table[idx];
if (idx >= 50)
result += tas3004_bass_diff_to_treble[idx-50];
return result;
}
'/>
net-next plumbings | Tobias Klauser |
svcrdma: avoid duplicate dma unmapping during error recovery
In rdma_read_chunk_frmr() when ib_post_send() fails, the error code path
invokes ib_dma_unmap_sg() to unmap the sg list. It then invokes
svc_rdma_put_frmr() which in turn tries to unmap the same sg list through
ib_dma_unmap_sg() again. This second unmap is invalid and could lead to
problems when the iova being unmapped is subsequently reused. Remove
the call to unmap in rdma_read_chunk_frmr() and let svc_rdma_put_frmr()
handle it.
Fixes: 412a15c0fe53 ("svcrdma: Port to new memory registration API")
Cc: stable@vger.kernel.org
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>