Fwd: BUG: 2.6.22-rc4 Ubuntu 7.04 AUDIO ALSA

2007-06-09 Thread Dan Collins

[1.] One line summary of the problem: Audio card not detected under
kernel, card is SigmaTel, computer is a Dell XPS 400
[2.] Full description of the problem/report:
The volume control did not find any elements and/or devices to
control. This means either that you don't have the right GStreamer
plugins installed, or that you don't have a sound card configured.


You can remove the volume control from the panel by right-clicking the
speaker icon on the panel and selecting "Remove From Panel" from the
menu.

ON BOOT:

Jun  9 16:59:44 Ubuntu710XPS kernel: [
49.595280] ALSA sound/pci/hda/hda_intel.c:698: codec_mask = 0x1
Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.727051] ALSA
sound/pci/hda/patch_sigmatel.c:2046: hda_codec: Unknown model for
STAC922x, using BIOS defaults

Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.731042] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 0a bios pin
config 02214030
Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.735034] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 0b bios pin
config 01a19021

Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.739027] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 0c bios pin
config 0012
Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.743021] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 0d bios pin
config 01114010

Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.747014] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 0e bios pin
config 02a19020
Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.751006] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 0f bios pin
config 01117011

Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.755000] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 10 bios pin
config 40f0
Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.758993] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 11 bios pin
config 40f1

Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.762986] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 15 bios pin
config 01813122
Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.766986] ALSA
sound/pci/hda/patch_sigmatel.c:766: hda_codec: pin nid 1b bios pin
config 40f2

Jun  9 16:59:44 Ubuntu710XPS kernel: [   49.810919] ALSA
sound/pci/hda/patch_sigmatel.c:1108: stac92xx_add_dyn_out_pins: total
dac count=4


[3.] Keywords (i.e., modules, networking, kernel): sound card, driver

[4.] Kernel version (from /proc/version): Linux version
2.6.22-rc4-devel ([EMAIL PROTECTED]) (gcc version 4.1.2 (Ubuntu 4.
1.2-0ubuntu4)) #1 SMP Fri Jun 8 19:27:47 EDT 2007

[5.] Output of Oops.. message (if applicable) with symbolic information

resolved (see Documentation/oops-tracing.txt)
[6.] A small shell script or example program which triggers the
problem (if possible)
[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)


If some fields are empty or look unusual you may have an old
version.
Compare to the current minimal requirements in
Documentation/Changes.

Linux Ubuntu710XPS 2.6.22-rc4-devel #1 SMP Fri Jun 8 19:27:47 EDT 2007
i686 GNU/Linux


Gnu C  gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
Copyright (C) 2006 Free Software Foundation, Inc. This is free
software; see the source for copying conditions. There is NO warranty;
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Gnu make   3.81
util-linux 2.12r
mount  2.12r
modutils   3.3-pre2
e2fsprogs  1.40-WIP
PPP2.4.4
Linux C Library>
libc.2.5
Dynamic linker (ldd)   2.5
Procps 3.2.7
Net-tools  1.60
Console-tools  0.2.3
Sh-utils   5.97
Modules Loaded isofs udf binfmt_misc rfcomm l2cap bluetooth
ppdev capability commoncap speedstep_lib cpufreq_conservative
cpufreq_stats cpufreq_userspace cpufreq_ondemand freq_table
cpufreq_powersave ipv6 dock asus_acpi video ac sbs battery button
container dm_crypt dm_mod parport_pc lp parport snd_hda_intel
snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss
snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer
snd_seq_device af_packet snd psmouse soundcore serio_raw intel_agp
pcspkr snd_page_alloc agpgart shpchp pci_hotplug joydev tsdev evdev
ext3 jbd mbcache sr_mod cdrom piix generic sg sd_mod ata_piix usbhid
hid floppy ehci_hcd ahci ata_generic libata scsi_mod e1000 uhci_hcd
usbcore thermal processor fan



[7.2.] Processor information (from /proc/cpuinfo):
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 15
model   : 4
model name  : Intel(R) Pentium(R) D CPU 2.80GHz

stepping: 4
cpu MHz : 2793.300
cache size  : 1024 KB
physical id : 0
siblings: 2
core id : 0
cpu cores   : 2
fdiv_bug: no
hlt_bug : no

f00f_bug: no
coma_bug: no
fpu : yes
fpu_exception   : yes
cpuid level : 5
wp  : yes
flags   : fpu 

[PATCH] Fixed TPACKET V3 to signal poll when block is closed rather than for every packet

2014-12-18 Thread Dan Collins
Make TPACKET_V3 signal poll when block is closed rather than for every
packet. Side effect is that poll will be signaled when block retire
timer expires which didn't previously happen. Issue was visible when
sending packets at a very low frequency such that all blocks are retired
before packets are received by TPACKET_V3. This caused avoidable packet
loss. The fix ensures that the signal is sent when blocks are closed
which covers the normal path where the block is filled as well as the
path where the timer expires. The case where a block is filled without
moving to the next block (ie. all blocks are full) will still cause poll
to be signaled. 

Signed-off-by: Dan Collins 

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index e52a447..14e883d 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -43,6 +43,8 @@
  * Chetan Loke :   Implemented TPACKET_V3 block abstraction
  * layer.
  * Copyright (C) 2011, 
+ *     Dan Collins : Fixed TPACKET_V3 to wake poll when block is closed
+ * rather than for every packet.
  *
  *
  * This program is free software; you can redistribute it and/or
@@ -785,6 +787,7 @@ static void prb_close_block(struct tpacket_kbdq_core *pkc1,
 
struct tpacket3_hdr *last_pkt;
struct tpacket_hdr_v1 *h1 = &pbd1->hdr.bh1;
+   struct sock *sk = &po->sk;
 
if (po->stats.stats3.tp_drops)
status |= TP_STATUS_LOSING;
@@ -809,6 +812,8 @@ static void prb_close_block(struct tpacket_kbdq_core *pkc1,
/* Flush the block */
prb_flush_block(pkc1, pbd1, status);
 
+   sk->sk_data_ready(sk);
+
pkc1->kactive_blk_num = GET_NEXT_PRB_BLK_NUM(pkc1);
 }
 
@@ -2052,12 +2057,12 @@ static int tpacket_rcv(struct sk_buff *skb, struct 
net_device *dev,
smp_wmb();
 #endif
 
-   if (po->tp_version <= TPACKET_V2)
+   if (po->tp_version <= TPACKET_V2) {
__packet_set_status(po, h.raw, status);
-   else
+   sk->sk_data_ready(sk);
+   } else {
prb_clear_blk_fill_status(&po->rx_ring);
-
-   sk->sk_data_ready(sk);
+   }
 
 drop_n_restore:
if (skb_head != skb->data && skb_shared(skb)) {


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Fixed TPACKET V3 to signal poll when block is closed rather than every packet

2014-12-18 Thread Dan Collins
From: Dan 

Make TPACKET_V3 signal poll when block is closed rather than for every
packet. Side effect is that poll will be signaled when block retire
timer expires which didn't previously happen. Issue was visible when
sending packets at a very low frequency such that all blocks are retired
before packets are received by TPACKET_V3. This caused avoidable packet
loss. The fix ensures that the signal is sent when blocks are closed
which covers the normal path where the block is filled as well as the
path where the timer expires. The case where a block is filled without
moving to the next block (ie. all blocks are full) will still cause poll
to be signaled.

Signed-off-by: Dan Collins 
---
 net/packet/af_packet.c | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index e52a447..14e883d 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -43,6 +43,8 @@
  * Chetan Loke :   Implemented TPACKET_V3 block abstraction
  * layer.
  * Copyright (C) 2011, 
+ *     Dan Collins : Fixed TPACKET_V3 to wake poll when block is closed
+ * rather than for every packet.
  *
  *
  * This program is free software; you can redistribute it and/or
@@ -785,6 +787,7 @@ static void prb_close_block(struct tpacket_kbdq_core *pkc1,
 
struct tpacket3_hdr *last_pkt;
struct tpacket_hdr_v1 *h1 = &pbd1->hdr.bh1;
+   struct sock *sk = &po->sk;
 
if (po->stats.stats3.tp_drops)
status |= TP_STATUS_LOSING;
@@ -809,6 +812,8 @@ static void prb_close_block(struct tpacket_kbdq_core *pkc1,
/* Flush the block */
prb_flush_block(pkc1, pbd1, status);
 
+   sk->sk_data_ready(sk);
+
pkc1->kactive_blk_num = GET_NEXT_PRB_BLK_NUM(pkc1);
 }
 
@@ -2052,12 +2057,12 @@ static int tpacket_rcv(struct sk_buff *skb, struct 
net_device *dev,
smp_wmb();
 #endif
 
-   if (po->tp_version <= TPACKET_V2)
+   if (po->tp_version <= TPACKET_V2) {
__packet_set_status(po, h.raw, status);
-   else
+   sk->sk_data_ready(sk);
+   } else {
prb_clear_blk_fill_status(&po->rx_ring);
-
-   sk->sk_data_ready(sk);
+   }
 
 drop_n_restore:
if (skb_head != skb->data && skb_shared(skb)) {
-- 
2.1.3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Fixed TPACKET V3 to signal poll when block is closed rather than every packet

2014-12-18 Thread Dan Collins
Make TPACKET_V3 signal poll when block is closed rather than for every
packet. Side effect is that poll will be signaled when block retire
timer expires which didn't previously happen. Issue was visible when
sending packets at a very low frequency such that all blocks are retired
before packets are received by TPACKET_V3. This caused avoidable packet
loss. The fix ensures that the signal is sent when blocks are closed
which covers the normal path where the block is filled as well as the
path where the timer expires. The case where a block is filled without
moving to the next block (ie. all blocks are full) will still cause poll
to be signaled.

Signed-off-by: Dan Collins 
---
 net/packet/af_packet.c | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index e52a447..6880f34 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -785,6 +785,7 @@ static void prb_close_block(struct tpacket_kbdq_core *pkc1,
 
struct tpacket3_hdr *last_pkt;
struct tpacket_hdr_v1 *h1 = &pbd1->hdr.bh1;
+   struct sock *sk = &po->sk;
 
if (po->stats.stats3.tp_drops)
status |= TP_STATUS_LOSING;
@@ -809,6 +810,8 @@ static void prb_close_block(struct tpacket_kbdq_core *pkc1,
/* Flush the block */
prb_flush_block(pkc1, pbd1, status);
 
+   sk->sk_data_ready(sk);
+
pkc1->kactive_blk_num = GET_NEXT_PRB_BLK_NUM(pkc1);
 }
 
@@ -2052,12 +2055,12 @@ static int tpacket_rcv(struct sk_buff *skb, struct 
net_device *dev,
smp_wmb();
 #endif
 
-   if (po->tp_version <= TPACKET_V2)
+   if (po->tp_version <= TPACKET_V2) {
__packet_set_status(po, h.raw, status);
-   else
+   sk->sk_data_ready(sk);
+   } else {
prb_clear_blk_fill_status(&po->rx_ring);
-
-   sk->sk_data_ready(sk);
+   }
 
 drop_n_restore:
if (skb_head != skb->data && skb_shared(skb)) {
-- 
2.1.3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/